{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Chapter_08",
      "provenance": [],
      "collapsed_sections": [],
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/jo-cho/advances_in_financial_machine_learning/blob/master/Chapter_08.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fx4QTqnEB40o",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2jJ66vDwCCID",
        "colab_type": "text"
      },
      "source": [
        "Exercises"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jYDzldzQDFeF",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns; sns.set()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "R_JmqduPCDq2",
        "colab_type": "text"
      },
      "source": [
        "# 1. Using the code presented in Section 8.6:"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZRadM_7LCH7D",
        "colab_type": "text"
      },
      "source": [
        "## (a) Generate a dataset (X, y).\n"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "QJ4CXiibCXaB",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def getTestData(n_features=40,n_informative=10,n_redundant=10,n_samples=10000):\n",
        "  # generate a random dataset for a classification problem\n",
        "  from sklearn.datasets import make_classification\n",
        "  trnsX,cont = make_classification(n_samples=n_samples,n_features=n_features,n_informative=n_informative,n_redundant=n_redundant,random_state=0,shuffle=False)\n",
        "  df0 = pd.DatetimeIndex(periods=n_samples,freq=pd.tseries.offsets.BDay(), end=pd.datetime.today())\n",
        "  trnsX,cont = pd.DataFrame(trnsX,index=df0), pd.Series(cont,index=df0).to_frame('bin')\n",
        "  df0 = ['I_'+str(i) for i in range(n_informative)]+ ['R_'+str(i) for i in range(n_redundant)]\n",
        "  df0+=['N_'+str(i) for i in range(n_features-len(df0))]\n",
        "  trnsX.columns=df0\n",
        "  cont['w']=1./cont.shape[0]\n",
        "  cont['t1']=pd.Series(cont.index,index=cont.index)\n",
        "  return trnsX,cont"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HnjUtb1ZDNUx",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 343
        },
        "outputId": "0986367a-c5f8-4a12-ad8b-f5b4492aeaa6"
      },
      "source": [
        "trnsX, cont = getTestData(n_features=20,n_informative=5,n_redundant=5, n_samples=10000)\n",
        "trnsX.head()"
      ],
      "execution_count": 163,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:5: FutureWarning: Creating a DatetimeIndex by passing range endpoints is deprecated.  Use `pandas.date_range` instead.\n",
            "  \"\"\"\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>I_0</th>\n",
              "      <th>I_1</th>\n",
              "      <th>I_2</th>\n",
              "      <th>I_3</th>\n",
              "      <th>I_4</th>\n",
              "      <th>R_0</th>\n",
              "      <th>R_1</th>\n",
              "      <th>R_2</th>\n",
              "      <th>R_3</th>\n",
              "      <th>R_4</th>\n",
              "      <th>N_0</th>\n",
              "      <th>N_1</th>\n",
              "      <th>N_2</th>\n",
              "      <th>N_3</th>\n",
              "      <th>N_4</th>\n",
              "      <th>N_5</th>\n",
              "      <th>N_6</th>\n",
              "      <th>N_7</th>\n",
              "      <th>N_8</th>\n",
              "      <th>N_9</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>1981-08-19 11:10:02.855059</th>\n",
              "      <td>2.105359</td>\n",
              "      <td>2.861661</td>\n",
              "      <td>0.104159</td>\n",
              "      <td>0.686149</td>\n",
              "      <td>1.369429</td>\n",
              "      <td>0.598433</td>\n",
              "      <td>-2.128938</td>\n",
              "      <td>-4.712652</td>\n",
              "      <td>-1.440282</td>\n",
              "      <td>1.734748</td>\n",
              "      <td>-0.951867</td>\n",
              "      <td>0.350871</td>\n",
              "      <td>1.205282</td>\n",
              "      <td>0.518828</td>\n",
              "      <td>-0.126228</td>\n",
              "      <td>0.247306</td>\n",
              "      <td>-1.100988</td>\n",
              "      <td>-1.274187</td>\n",
              "      <td>-1.646382</td>\n",
              "      <td>0.148002</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-20 11:10:02.855059</th>\n",
              "      <td>-0.330754</td>\n",
              "      <td>1.464379</td>\n",
              "      <td>-1.405119</td>\n",
              "      <td>0.396713</td>\n",
              "      <td>-1.722305</td>\n",
              "      <td>2.457629</td>\n",
              "      <td>1.360210</td>\n",
              "      <td>0.598880</td>\n",
              "      <td>-2.769403</td>\n",
              "      <td>2.148379</td>\n",
              "      <td>0.149130</td>\n",
              "      <td>-0.344994</td>\n",
              "      <td>-0.270242</td>\n",
              "      <td>-1.335891</td>\n",
              "      <td>-2.517104</td>\n",
              "      <td>-0.320609</td>\n",
              "      <td>-2.229938</td>\n",
              "      <td>-1.727211</td>\n",
              "      <td>1.524020</td>\n",
              "      <td>-0.171415</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-21 11:10:02.855059</th>\n",
              "      <td>-0.461334</td>\n",
              "      <td>-0.160432</td>\n",
              "      <td>-2.169501</td>\n",
              "      <td>-0.137535</td>\n",
              "      <td>0.398229</td>\n",
              "      <td>0.807388</td>\n",
              "      <td>-0.032925</td>\n",
              "      <td>1.056388</td>\n",
              "      <td>-1.110272</td>\n",
              "      <td>-0.690573</td>\n",
              "      <td>1.385891</td>\n",
              "      <td>-0.994307</td>\n",
              "      <td>-1.020541</td>\n",
              "      <td>-0.671245</td>\n",
              "      <td>-0.013901</td>\n",
              "      <td>0.489610</td>\n",
              "      <td>1.761593</td>\n",
              "      <td>-0.371046</td>\n",
              "      <td>-0.939324</td>\n",
              "      <td>1.923307</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-24 11:10:02.855059</th>\n",
              "      <td>-1.573667</td>\n",
              "      <td>3.110105</td>\n",
              "      <td>0.073939</td>\n",
              "      <td>1.232501</td>\n",
              "      <td>1.069429</td>\n",
              "      <td>2.660115</td>\n",
              "      <td>-0.758505</td>\n",
              "      <td>-1.797288</td>\n",
              "      <td>-0.598249</td>\n",
              "      <td>0.575557</td>\n",
              "      <td>1.374754</td>\n",
              "      <td>0.257797</td>\n",
              "      <td>0.108781</td>\n",
              "      <td>1.233139</td>\n",
              "      <td>0.484138</td>\n",
              "      <td>0.376817</td>\n",
              "      <td>0.491534</td>\n",
              "      <td>1.152249</td>\n",
              "      <td>-1.200973</td>\n",
              "      <td>0.363082</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-25 11:10:02.855059</th>\n",
              "      <td>0.528677</td>\n",
              "      <td>1.538982</td>\n",
              "      <td>-1.603758</td>\n",
              "      <td>2.056413</td>\n",
              "      <td>0.777722</td>\n",
              "      <td>1.574457</td>\n",
              "      <td>-0.717575</td>\n",
              "      <td>-2.730023</td>\n",
              "      <td>-1.430891</td>\n",
              "      <td>0.096802</td>\n",
              "      <td>0.582142</td>\n",
              "      <td>1.279587</td>\n",
              "      <td>-1.104004</td>\n",
              "      <td>-1.288717</td>\n",
              "      <td>0.263587</td>\n",
              "      <td>0.125378</td>\n",
              "      <td>-1.919282</td>\n",
              "      <td>0.146416</td>\n",
              "      <td>-0.973685</td>\n",
              "      <td>1.649327</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                                 I_0       I_1  ...       N_8       N_9\n",
              "1981-08-19 11:10:02.855059  2.105359  2.861661  ... -1.646382  0.148002\n",
              "1981-08-20 11:10:02.855059 -0.330754  1.464379  ...  1.524020 -0.171415\n",
              "1981-08-21 11:10:02.855059 -0.461334 -0.160432  ... -0.939324  1.923307\n",
              "1981-08-24 11:10:02.855059 -1.573667  3.110105  ... -1.200973  0.363082\n",
              "1981-08-25 11:10:02.855059  0.528677  1.538982  ... -0.973685  1.649327\n",
              "\n",
              "[5 rows x 20 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 163
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BI_2GfjRN3mR",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 221
        },
        "outputId": "b296b0db-2785-418f-e89b-b3d33b89fde7"
      },
      "source": [
        "y=cont.bin\n",
        "y"
      ],
      "execution_count": 164,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1981-08-19 11:10:02.855059    0\n",
              "1981-08-20 11:10:02.855059    0\n",
              "1981-08-21 11:10:02.855059    0\n",
              "1981-08-24 11:10:02.855059    0\n",
              "1981-08-25 11:10:02.855059    0\n",
              "                             ..\n",
              "2019-12-11 11:10:02.855059    1\n",
              "2019-12-12 11:10:02.855059    1\n",
              "2019-12-13 11:10:02.855059    1\n",
              "2019-12-16 11:10:02.855059    1\n",
              "2019-12-17 11:10:02.855059    1\n",
              "Freq: B, Name: bin, Length: 10000, dtype: int64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 164
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Z1O-EPPWTlHi",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 68
        },
        "outputId": "0b8f9d95-0c24-4e85-8d5f-ff8faf9204d2"
      },
      "source": [
        "y.value_counts()"
      ],
      "execution_count": 165,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1    5003\n",
              "0    4997\n",
              "Name: bin, dtype: int64"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 165
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ti0ULh4JCI5J",
        "colab_type": "text"
      },
      "source": [
        "## (b) Apply a PCA transformation on $X$, which we denote $\\dot{X}$."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "TcWl3PhfG5LU",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.decomposition import PCA"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sfW5j5QDIQZU",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "n=5\n",
        "pca = PCA(n)\n",
        "pca.fit(trnsX)\n",
        "pcaX = pca.transform(trnsX)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5n9OwdLzKdWl",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "6f92dbb4-557b-4844-bc00-297d638b776c"
      },
      "source": [
        "pca.explained_variance_ratio_"
      ],
      "execution_count": 168,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([0.27884877, 0.22660774, 0.13345306, 0.05864858, 0.0292165 ])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 168
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qpHwQQ-EKJr1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "ea9ec422-ebe4-45a5-94ff-a702bc581b87"
      },
      "source": [
        "pcaX.shape"
      ],
      "execution_count": 169,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(10000, 5)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 169
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7uzRudp2QoHL",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 419
        },
        "outputId": "58afff7a-f6b0-42c7-fb92-815a29898720"
      },
      "source": [
        "X = pd.DataFrame(index=trnsX.index)\n",
        "for i in range(n):\n",
        "  a = pd.Series(data=pcaX[:,i],index=trnsX.index,name=i)\n",
        "  X = X.join(a)\n",
        "X"
      ],
      "execution_count": 170,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>1981-08-19 11:10:02.855059</th>\n",
              "      <td>-0.079478</td>\n",
              "      <td>6.987463</td>\n",
              "      <td>2.303134</td>\n",
              "      <td>0.284018</td>\n",
              "      <td>0.041992</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-20 11:10:02.855059</th>\n",
              "      <td>-4.125725</td>\n",
              "      <td>0.696678</td>\n",
              "      <td>-0.653375</td>\n",
              "      <td>-0.033049</td>\n",
              "      <td>-0.512002</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-21 11:10:02.855059</th>\n",
              "      <td>-0.143899</td>\n",
              "      <td>-0.960887</td>\n",
              "      <td>1.175653</td>\n",
              "      <td>0.844542</td>\n",
              "      <td>-1.798651</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-24 11:10:02.855059</th>\n",
              "      <td>-1.599016</td>\n",
              "      <td>2.375769</td>\n",
              "      <td>3.393312</td>\n",
              "      <td>-1.555787</td>\n",
              "      <td>0.596834</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-25 11:10:02.855059</th>\n",
              "      <td>-0.807683</td>\n",
              "      <td>3.098131</td>\n",
              "      <td>2.382476</td>\n",
              "      <td>1.715768</td>\n",
              "      <td>1.147588</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2019-12-11 11:10:02.855059</th>\n",
              "      <td>-0.362427</td>\n",
              "      <td>-1.943164</td>\n",
              "      <td>-2.898029</td>\n",
              "      <td>2.299986</td>\n",
              "      <td>-0.269398</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2019-12-12 11:10:02.855059</th>\n",
              "      <td>2.591074</td>\n",
              "      <td>-4.866338</td>\n",
              "      <td>0.950890</td>\n",
              "      <td>1.299394</td>\n",
              "      <td>0.321017</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2019-12-13 11:10:02.855059</th>\n",
              "      <td>-0.735571</td>\n",
              "      <td>-4.388725</td>\n",
              "      <td>0.149137</td>\n",
              "      <td>-2.626403</td>\n",
              "      <td>-1.793254</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2019-12-16 11:10:02.855059</th>\n",
              "      <td>-1.409797</td>\n",
              "      <td>-3.666857</td>\n",
              "      <td>-1.278288</td>\n",
              "      <td>-0.918072</td>\n",
              "      <td>0.151399</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2019-12-17 11:10:02.855059</th>\n",
              "      <td>4.199926</td>\n",
              "      <td>-5.245134</td>\n",
              "      <td>1.050906</td>\n",
              "      <td>2.708541</td>\n",
              "      <td>0.454813</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>10000 rows × 5 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "                                   0         1         2         3         4\n",
              "1981-08-19 11:10:02.855059 -0.079478  6.987463  2.303134  0.284018  0.041992\n",
              "1981-08-20 11:10:02.855059 -4.125725  0.696678 -0.653375 -0.033049 -0.512002\n",
              "1981-08-21 11:10:02.855059 -0.143899 -0.960887  1.175653  0.844542 -1.798651\n",
              "1981-08-24 11:10:02.855059 -1.599016  2.375769  3.393312 -1.555787  0.596834\n",
              "1981-08-25 11:10:02.855059 -0.807683  3.098131  2.382476  1.715768  1.147588\n",
              "...                              ...       ...       ...       ...       ...\n",
              "2019-12-11 11:10:02.855059 -0.362427 -1.943164 -2.898029  2.299986 -0.269398\n",
              "2019-12-12 11:10:02.855059  2.591074 -4.866338  0.950890  1.299394  0.321017\n",
              "2019-12-13 11:10:02.855059 -0.735571 -4.388725  0.149137 -2.626403 -1.793254\n",
              "2019-12-16 11:10:02.855059 -1.409797 -3.666857 -1.278288 -0.918072  0.151399\n",
              "2019-12-17 11:10:02.855059  4.199926 -5.245134  1.050906  2.708541  0.454813\n",
              "\n",
              "[10000 rows x 5 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 170
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "IO36xbQrCMrT",
        "colab_type": "text"
      },
      "source": [
        "## (c) Compute MDI, MDA, and SFI feature importance on$(\\dot{X}, y)$, where the base estimator is RF."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "uFC8P7tsLM7n",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from sklearn.ensemble import RandomForestClassifier"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "LO53zJGpK0KC",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "pip install -q mlfinlab"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HMhwcVEMK229",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from mlfinlab import feature_importance"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HuADvHLvLWaL",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "clf = RandomForestClassifier(n_estimators=100,max_features=1 ,criterion='entropy',class_weight='balanced_subsample',oob_score=True)\n",
        "fit = clf.fit(X,y)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "gy7cTDjCK6qM",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "mdi = feature_importance.feature_importance_mean_decrease_impurity(clf=fit, feature_names = X.columns.to_list())"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fDUQpQ4UWLd3",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "9d93893d-0dc7-4306-9985-a9432e3c4bda"
      },
      "source": [
        "mdi.sort_values('mean', ascending=False)"
      ],
      "execution_count": 176,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.421439</td>\n",
              "      <td>0.002705</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.207297</td>\n",
              "      <td>0.002034</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.142356</td>\n",
              "      <td>0.001886</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.116367</td>\n",
              "      <td>0.001556</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.112542</td>\n",
              "      <td>0.001182</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       mean       std\n",
              "2  0.421439  0.002705\n",
              "0  0.207297  0.002034\n",
              "3  0.142356  0.001886\n",
              "1  0.116367  0.001556\n",
              "4  0.112542  0.001182"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 176
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "VpiDWzdDO6mp",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from mlfinlab import cross_validation\n",
        "cv_gen = cross_validation.PurgedKFold(5, cont['t1'], 0.01)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Dwa56yFlOWEd",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "mda =feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=X,y=y,cv_gen=cv_gen, sample_weight=cont['w'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5firmCUoXU4M",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "f3249e92-e98b-4369-84a0-c0123da127aa"
      },
      "source": [
        "mda.sort_values('mean',ascending=False)"
      ],
      "execution_count": 182,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.553241</td>\n",
              "      <td>0.075444</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.342088</td>\n",
              "      <td>0.080315</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.246367</td>\n",
              "      <td>0.074087</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.091245</td>\n",
              "      <td>0.023775</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.026036</td>\n",
              "      <td>0.024903</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "       mean       std\n",
              "2  0.553241  0.075444\n",
              "0  0.342088  0.080315\n",
              "3  0.246367  0.074087\n",
              "4  0.091245  0.023775\n",
              "1  0.026036  0.024903"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 182
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5hUzVPj-Rim7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "sfi = feature_importance.feature_importance_sfi(clf=clf,X=X,y=y,cv_gen=cv_gen,sample_weight=cont['w'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "2e1hvoiJYCXv",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "9221c415-154e-479c-f159-c6e45736758f"
      },
      "source": [
        "sfi.sort_values('mean',ascending=False)"
      ],
      "execution_count": 184,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>-3.35337</td>\n",
              "      <td>0.404321</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>-3.56621</td>\n",
              "      <td>1.12803</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>-3.86668</td>\n",
              "      <td>0.449911</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>-3.97325</td>\n",
              "      <td>0.728429</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>-4.16636</td>\n",
              "      <td>1.01013</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      mean       std\n",
              "4 -3.35337  0.404321\n",
              "2 -3.56621   1.12803\n",
              "1 -3.86668  0.449911\n",
              "3 -3.97325  0.728429\n",
              "0 -4.16636   1.01013"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 184
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "amG26_idCP9s",
        "colab_type": "text"
      },
      "source": [
        "## (d) Do the three methods agree on what features are important? Why?"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "NqfZ_xQVYKbA",
        "colab_type": "text"
      },
      "source": [
        "SFI의 importance는 혼자 조금 다르다."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0_kn_jeLCSdb",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 121
        },
        "outputId": "5acab79c-2943-428c-ef40-f5f8b43ba0da"
      },
      "source": [
        "feature_importance.plot_feature_importance(imp=mdi,oob_score=1,oos_score=1)"
      ],
      "execution_count": 185,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nKCgI+/btw59//onKykp8+OGHmDJlSpPf4mruGG7M42mUSiXUajVqa2uhUCiE8X5+fjh69Gibb8/Y\n2FhkZWVBLpejtrYWiYmJ6Nq1K/r3799gvefPn8fNmzehUqlgY2MDc3NzSCSSZo+boKAgHD16FNev\nXxde8eDm5iZcXXra+PHjkZ2djaSkJCgUCigUCmRlZeH27duNTv/ktiMi1NbWQi6XNzotY9riK0ys\nw5LJZNi9ezf++c9/YtWqVZBIJHBzc8N7770HGxsbbNiwAREREZDL5fD19YWfn58w74ABAzB16lQE\nBARApVIhOTkZoaGh+PHHH+Hn5yc8D/Hpp582uX6pVIo9e/YIV7Hkcjn69++PiIiINsnr7++PlJQU\nrF27Fn379kVMTAwsLCwA1L12ITIyEnFxcXBycsKOHTswYMCAJpf1yiuvYPny5fD09ISXlxd2796N\nN998EzNnzoSZmRleeuklPP/881q3bceOHdi2bRumTJkChUIBb29vjBw5EsOGDcOWLVuwefNm3L17\nF1ZWVnj++eeFWyfz58+Hp6cnFi5c2GCZlpaWSEhIQHR0NGbMmIGKigr07t0bK1aswKuvvipM99Zb\nb8HOzg47duyo996gDz74QHilAAB89913+OGHHwDU3eLx8/PD0qVLG83TuXNnREVF4e7duzAzM0O/\nfv0QExOD3r17C9t769at8PX1BVD3jIyHhwemT5+OwsJCzJ49G7W1tXjxxRexcePGJrdbc8fw4/Vc\nvHgRe/fuBVD33N7f//53YX43Nze8/PLL2L59O+RyOUpKSjB8+PBG16XP7WlmZob169cLV9AGDRqE\nuLg4dOnSpcF679+/j3fffReFhYWwtrZGYGCgUHg1ddyMHj0ay5cvx7Jly1BWVoYRI0bgww8/bHI7\n2tjY4N///je2b9+O7du3g4gwaNAgYVt98803iIuLE57ru3DhAubMmVNvO3p5een8XivGnsQvrmSs\nA4iJicHdu3eFZ3AYe9rFixfxn//8B9HR0YZuCmOixFeYGGPMCDz+FiljzDD4GSbGGGOMMQ34lhxj\njDHGmAZ8hYkxxhhjTAMumBhjjDHGNOCCiTHGGGNMg3b5llxJSSXUanE9KuXgYIMHDzS/vM8UcXbx\nZRdrboCzizG7WHMDpp9dIjGDvX3D940BWhRMJSUlWLNmDe7duwdLS0v07dsXmzdvFt4YrA21mkRX\n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\n",
            "text/plain": [
              "<Figure size 720x72 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wqmDMKW0Yh4x",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 121
        },
        "outputId": "e4ffe8d9-015e-433f-9eb6-a97c8c020c74"
      },
      "source": [
        "feature_importance.plot_feature_importance(imp=mda,oob_score=1,oos_score=1)"
      ],
      "execution_count": 186,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x72 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "vtL9SjAldi1Z",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 121
        },
        "outputId": "427859f5-cd72-457b-f0e4-3b7679aa2eba"
      },
      "source": [
        "feature_importance.plot_feature_importance(imp=sfi,oob_score=1,oos_score=1)"
      ],
      "execution_count": 187,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nGZsaAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 720x72 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EnOXMUbejMhs",
        "colab_type": "text"
      },
      "source": [
        "# 2. From exercise 1, generate a new dataset ($\\ddot{X} , y)$, where $\\ddot{X}$ is a feature union of $X$ and ̇$\\dot{X}$"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KJXGSeD6k72N",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 309
        },
        "outputId": "643fd9a0-f814-4382-ad98-4b7680c8233a"
      },
      "source": [
        "X2 = trnsX.join(X)\n",
        "X2.head()"
      ],
      "execution_count": 191,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>I_0</th>\n",
              "      <th>I_1</th>\n",
              "      <th>I_2</th>\n",
              "      <th>I_3</th>\n",
              "      <th>I_4</th>\n",
              "      <th>R_0</th>\n",
              "      <th>R_1</th>\n",
              "      <th>R_2</th>\n",
              "      <th>R_3</th>\n",
              "      <th>R_4</th>\n",
              "      <th>N_0</th>\n",
              "      <th>N_1</th>\n",
              "      <th>N_2</th>\n",
              "      <th>N_3</th>\n",
              "      <th>N_4</th>\n",
              "      <th>N_5</th>\n",
              "      <th>N_6</th>\n",
              "      <th>N_7</th>\n",
              "      <th>N_8</th>\n",
              "      <th>N_9</th>\n",
              "      <th>0</th>\n",
              "      <th>1</th>\n",
              "      <th>2</th>\n",
              "      <th>3</th>\n",
              "      <th>4</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>1981-08-19 11:10:02.855059</th>\n",
              "      <td>2.105359</td>\n",
              "      <td>2.861661</td>\n",
              "      <td>0.104159</td>\n",
              "      <td>0.686149</td>\n",
              "      <td>1.369429</td>\n",
              "      <td>0.598433</td>\n",
              "      <td>-2.128938</td>\n",
              "      <td>-4.712652</td>\n",
              "      <td>-1.440282</td>\n",
              "      <td>1.734748</td>\n",
              "      <td>-0.951867</td>\n",
              "      <td>0.350871</td>\n",
              "      <td>1.205282</td>\n",
              "      <td>0.518828</td>\n",
              "      <td>-0.126228</td>\n",
              "      <td>0.247306</td>\n",
              "      <td>-1.100988</td>\n",
              "      <td>-1.274187</td>\n",
              "      <td>-1.646382</td>\n",
              "      <td>0.148002</td>\n",
              "      <td>-0.079478</td>\n",
              "      <td>6.987463</td>\n",
              "      <td>2.303134</td>\n",
              "      <td>0.284018</td>\n",
              "      <td>0.041992</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-20 11:10:02.855059</th>\n",
              "      <td>-0.330754</td>\n",
              "      <td>1.464379</td>\n",
              "      <td>-1.405119</td>\n",
              "      <td>0.396713</td>\n",
              "      <td>-1.722305</td>\n",
              "      <td>2.457629</td>\n",
              "      <td>1.360210</td>\n",
              "      <td>0.598880</td>\n",
              "      <td>-2.769403</td>\n",
              "      <td>2.148379</td>\n",
              "      <td>0.149130</td>\n",
              "      <td>-0.344994</td>\n",
              "      <td>-0.270242</td>\n",
              "      <td>-1.335891</td>\n",
              "      <td>-2.517104</td>\n",
              "      <td>-0.320609</td>\n",
              "      <td>-2.229938</td>\n",
              "      <td>-1.727211</td>\n",
              "      <td>1.524020</td>\n",
              "      <td>-0.171415</td>\n",
              "      <td>-4.125725</td>\n",
              "      <td>0.696678</td>\n",
              "      <td>-0.653375</td>\n",
              "      <td>-0.033049</td>\n",
              "      <td>-0.512002</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-21 11:10:02.855059</th>\n",
              "      <td>-0.461334</td>\n",
              "      <td>-0.160432</td>\n",
              "      <td>-2.169501</td>\n",
              "      <td>-0.137535</td>\n",
              "      <td>0.398229</td>\n",
              "      <td>0.807388</td>\n",
              "      <td>-0.032925</td>\n",
              "      <td>1.056388</td>\n",
              "      <td>-1.110272</td>\n",
              "      <td>-0.690573</td>\n",
              "      <td>1.385891</td>\n",
              "      <td>-0.994307</td>\n",
              "      <td>-1.020541</td>\n",
              "      <td>-0.671245</td>\n",
              "      <td>-0.013901</td>\n",
              "      <td>0.489610</td>\n",
              "      <td>1.761593</td>\n",
              "      <td>-0.371046</td>\n",
              "      <td>-0.939324</td>\n",
              "      <td>1.923307</td>\n",
              "      <td>-0.143899</td>\n",
              "      <td>-0.960887</td>\n",
              "      <td>1.175653</td>\n",
              "      <td>0.844542</td>\n",
              "      <td>-1.798651</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-24 11:10:02.855059</th>\n",
              "      <td>-1.573667</td>\n",
              "      <td>3.110105</td>\n",
              "      <td>0.073939</td>\n",
              "      <td>1.232501</td>\n",
              "      <td>1.069429</td>\n",
              "      <td>2.660115</td>\n",
              "      <td>-0.758505</td>\n",
              "      <td>-1.797288</td>\n",
              "      <td>-0.598249</td>\n",
              "      <td>0.575557</td>\n",
              "      <td>1.374754</td>\n",
              "      <td>0.257797</td>\n",
              "      <td>0.108781</td>\n",
              "      <td>1.233139</td>\n",
              "      <td>0.484138</td>\n",
              "      <td>0.376817</td>\n",
              "      <td>0.491534</td>\n",
              "      <td>1.152249</td>\n",
              "      <td>-1.200973</td>\n",
              "      <td>0.363082</td>\n",
              "      <td>-1.599016</td>\n",
              "      <td>2.375769</td>\n",
              "      <td>3.393312</td>\n",
              "      <td>-1.555787</td>\n",
              "      <td>0.596834</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1981-08-25 11:10:02.855059</th>\n",
              "      <td>0.528677</td>\n",
              "      <td>1.538982</td>\n",
              "      <td>-1.603758</td>\n",
              "      <td>2.056413</td>\n",
              "      <td>0.777722</td>\n",
              "      <td>1.574457</td>\n",
              "      <td>-0.717575</td>\n",
              "      <td>-2.730023</td>\n",
              "      <td>-1.430891</td>\n",
              "      <td>0.096802</td>\n",
              "      <td>0.582142</td>\n",
              "      <td>1.279587</td>\n",
              "      <td>-1.104004</td>\n",
              "      <td>-1.288717</td>\n",
              "      <td>0.263587</td>\n",
              "      <td>0.125378</td>\n",
              "      <td>-1.919282</td>\n",
              "      <td>0.146416</td>\n",
              "      <td>-0.973685</td>\n",
              "      <td>1.649327</td>\n",
              "      <td>-0.807683</td>\n",
              "      <td>3.098131</td>\n",
              "      <td>2.382476</td>\n",
              "      <td>1.715768</td>\n",
              "      <td>1.147588</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                                 I_0       I_1  ...         3         4\n",
              "1981-08-19 11:10:02.855059  2.105359  2.861661  ...  0.284018  0.041992\n",
              "1981-08-20 11:10:02.855059 -0.330754  1.464379  ... -0.033049 -0.512002\n",
              "1981-08-21 11:10:02.855059 -0.461334 -0.160432  ...  0.844542 -1.798651\n",
              "1981-08-24 11:10:02.855059 -1.573667  3.110105  ... -1.555787  0.596834\n",
              "1981-08-25 11:10:02.855059  0.528677  1.538982  ...  1.715768  1.147588\n",
              "\n",
              "[5 rows x 25 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 191
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "E48VJmhbkfwy",
        "colab_type": "text"
      },
      "source": [
        "## (a) Compute MDI, MDA, and SFI feature importance on (Ẍ , y), where the base estimator is RF."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "X5WxOnq3k3rN",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "fit2 = clf.fit(X2,y)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8x83Aq9jlMLV",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "mdi2 = feature_importance.feature_importance_mean_decrease_impurity(clf=fit2, feature_names = X2.columns.to_list())"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Rox3Bn_klS9z",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "5e92a888-849c-49ea-bcbb-ac99c0a852b4"
      },
      "source": [
        "mdi2.sort_values('mean',ascending=False).head(8)"
      ],
      "execution_count": 216,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.110418</td>\n",
              "      <td>0.008164</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_0</th>\n",
              "      <td>0.089293</td>\n",
              "      <td>0.006263</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_1</th>\n",
              "      <td>0.087870</td>\n",
              "      <td>0.006481</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>0.066689</td>\n",
              "      <td>0.003593</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.054217</td>\n",
              "      <td>0.003204</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>0.053678</td>\n",
              "      <td>0.002719</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_1</th>\n",
              "      <td>0.053399</td>\n",
              "      <td>0.003367</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>0.049011</td>\n",
              "      <td>0.002186</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         mean       std\n",
              "2    0.110418  0.008164\n",
              "R_0  0.089293  0.006263\n",
              "I_1  0.087870  0.006481\n",
              "I_4  0.066689  0.003593\n",
              "0    0.054217  0.003204\n",
              "I_2  0.053678  0.002719\n",
              "R_1  0.053399  0.003367\n",
              "I_0  0.049011  0.002186"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 216
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "upHWg1EElgGb",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "mda2 =feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=X2,y=y,cv_gen=cv_gen, sample_weight=cont['w'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HDiwD5yKmNMg",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "beaed18e-bb54-45e7-8d74-82ad0675cfa0"
      },
      "source": [
        "mda2.sort_values('mean',ascending=False).head(8)"
      ],
      "execution_count": 217,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>R_0</th>\n",
              "      <td>0.076616</td>\n",
              "      <td>0.024418</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.071454</td>\n",
              "      <td>0.049959</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_1</th>\n",
              "      <td>0.059825</td>\n",
              "      <td>0.033644</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.051881</td>\n",
              "      <td>0.016332</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>0.049351</td>\n",
              "      <td>0.017837</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>0.047708</td>\n",
              "      <td>0.030153</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.045410</td>\n",
              "      <td>0.022027</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>0.042317</td>\n",
              "      <td>0.023517</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         mean       std\n",
              "R_0  0.076616  0.024418\n",
              "2    0.071454  0.049959\n",
              "I_1  0.059825  0.033644\n",
              "3    0.051881  0.016332\n",
              "I_2  0.049351  0.017837\n",
              "I_4  0.047708  0.030153\n",
              "0    0.045410  0.022027\n",
              "I_0  0.042317  0.023517"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 217
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "S1VybqiYmUD7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "sfi2 = feature_importance.feature_importance_sfi(clf=clf,X=X2,y=y,cv_gen=cv_gen,sample_weight=cont['w'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HnYUc3dkmcN1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 297
        },
        "outputId": "1221060f-07a5-4e24-8b00-1acfa35c32ab"
      },
      "source": [
        "sfi2.sort_values('mean',ascending=True).head(8)"
      ],
      "execution_count": 220,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>-4.29815</td>\n",
              "      <td>1.01713</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_1</th>\n",
              "      <td>-4.15423</td>\n",
              "      <td>0.404699</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>-4.13288</td>\n",
              "      <td>1.15339</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_0</th>\n",
              "      <td>-4.10421</td>\n",
              "      <td>0.671435</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_2</th>\n",
              "      <td>-4.0861</td>\n",
              "      <td>0.462301</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>-4.08406</td>\n",
              "      <td>0.541414</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_3</th>\n",
              "      <td>-3.98385</td>\n",
              "      <td>0.824386</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>-3.93145</td>\n",
              "      <td>1.24959</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "        mean       std\n",
              "0   -4.29815   1.01713\n",
              "R_1 -4.15423  0.404699\n",
              "I_0 -4.13288   1.15339\n",
              "R_0 -4.10421  0.671435\n",
              "R_2  -4.0861  0.462301\n",
              "I_4 -4.08406  0.541414\n",
              "R_3 -3.98385  0.824386\n",
              "I_2 -3.93145   1.24959"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 220
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "aJNvuZOSkwef",
        "colab_type": "text"
      },
      "source": [
        "##(b) Do the three methods agree on the important features? Why?"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jclqGmgFkmDC",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 980
        },
        "outputId": "301f7e7b-999c-41d9-de28-f956205259a8"
      },
      "source": [
        "feature_importance.plot_feature_importance(imp=mdi2,oob_score=1,oos_score=1)\n",
        "feature_importance.plot_feature_importance(imp=mda2,oob_score=1,oos_score=1)\n",
        "feature_importance.plot_feature_importance(imp=sfi2,oob_score=1,oos_score=1)"
      ],
      "execution_count": 222,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAFBCAYAAACvogEvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de1xUZeI/8A8wjIiAEKmMmdq6oagp\nea1cMUczMRBFLV9ZprQqlqbp5uqqlZdN9FvuL80CK83SNC1T875FSdZKaRfTTLfWSygXb4iAMLfn\n94fLLMjFmTnPYc6Bz/v16vVymDNznvmE8nAuz8dHCCFARERERNL5ensARERERHUVJ1pEREREKuFE\ni4iIiEglnGgRERERqYQTLSIiIiKVcKJFREREpBJOtIi87Pnnn8eKFSu8PQwiIlKBD9fRIr0ym824\ncOEC/Pz8nF/bvXs3mjVr5vF7ZmZm4rnnnkNGRoaMIerOzJkz0axZMzz77LPeHkqNCgoK8Morr+DT\nTz9FYWEhWrZsiTFjxmDYsGEVttu8eTNWr16NM2fOICgoCP3798f06dMREhICAFi+fDlSU1NhNBoB\nABEREZg6dSoefPDBKvdrsViwdOlS7Ny5E1evXkVYWBj69euH2bNnq/uBb2Lnzp149913cezYMXTq\n1AnvvfeeW6+XlWdBQQEWLVqEjIwMFBcXo2nTphg2bBjGjx8v7bOq6cCBA1ixYgV+/vlnNG7cGOnp\n6d4eEtUBBm8PgEiJ1NRU3Hfffd4ehpPNZoPBoM+/Vna73dtDcInFYsGYMWMQHh6ODRs2ICIiAv/6\n178wc+ZMFBQUYOzYsQCAVatW4a233kJKSgruvfde5ObmYt68eRg7dizWr1/vnFzFxsbi5ZdfBgB8\n+eWXePrpp9G1a1fceuutlfa9cuVKHDlyBJs2bULTpk1x9uxZHDx4UOrn8+R7KDQ0FKNHj8Z//vMf\nZGZmuvVamXkuWrQIxcXF2LlzJ4KDg3Hy5En8+9//dms8sniSY2BgIIYNG4a4uDikpaWpNDKqdwSR\nTvXt21d89dVXVT73/fffi0ceeUR07dpVxMfHiwMHDjif+/DDD8XAgQNFdHS0MJvNYv369UIIIYqK\nisRdd90l2rZtK6Kjo0V0dLTIyckRf/3rX8XSpUudrz9w4IDo3bt3hXGkpaWJuLg40aFDB2G1WkVO\nTo6YNGmS6Nmzp+jbt69Ys2ZNtZ+j/PuXvffKlSvFPffcI3r16iX++c9/ii+++EIMGDBAdO/eXbzx\nxhvO1y5btkxMnjxZTJkyRURHR4shQ4aIY8eOOZ//9ddfxWOPPSa6du0qBg0aJD799NMK+33++efF\nn//8Z9G5c2exYcMG0b59e9GhQwcRHR0tJkyYIIQQIi0tTfTr109ER0eL2NhYsXfvXud7fPTRR2Lk\nyJEiJSVFdOvWTfTt21d88cUXzucvX74sZs6cKXr16iW6desmJk6c6HwuPT1dDB48WHTt2lU88sgj\nFcZdk40bN4p77rlHFBUVVfj6jh07RHR0tLh69aq4evWqiI6OFjt27KiwTWFhoejZs6fYtGmTM7/p\n06dX2Oaee+4Rhw4dqnLf48ePF6tXr652bOfOnRNPP/206Nmzp+jRo4eYN2+eEEIIu90uVqxYIe6/\n/35xzz33iOeee04UFBQIIYT4/fffRWRkpNi4caPo06ePePTRR4UQNX8P15TNY489VunrcXFxYtu2\nbdW+RlaeDz30kPjnP/9503EKIURJSYmYPn266NGjh+jatatITEwU58+fF0LU/H3zwQcfiP79+4vu\n3buLCRMmiJycHOdzkZGRYu3ateKBBx4Qffv2FUJc/zswZswY0b17dzFgwIBKn6EqX331lfP1REpx\nokW6Vd1EKycnR/To0UN88cUXwm63i/3794sePXqIixcvCiGE+Pzzz8Xp06eFw+EQmZmZolOnTuLI\nkSNCiMqTKCGESxOtwYMHi3Pnzolr164Ju90uhg4dKpYvXy5KS0vFmTNnhNlsFhkZGVV+jhsnWlFR\nUWL58uXCYrGIDz74QPTs2VNMmzZNXL16VZw4cULcdddd4syZM0KI6xOF9u3bi127dgmLxSLeeust\n0bdvX2GxWITFYhH9+/cXb7zxhigtLRVff/21iI6OFr/99ptzv126dBEHDx4UdrtdlJSUVPqsQgix\nc+dOkZOTI+x2u9ixY4fo3LmzyM3NFUJcn2i1b99efPDBB8Jms4l169aJXr16CYfDIYQQYty4cWLK\nlCkiPz9fWCwWkZmZKYQQ4ujRo+Kee+4RP/zwg7DZbGLz5s2ib9++orS09Kb/36dOnSpmzJhR6etW\nq1VERUWJjIwMsW/fPhEVFSWsVmul7WbMmCGeffZZZ35lEy2HwyE+//xz0bVrV3HlypUq971ixQrR\n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\nqeT/AzDJqGc6FXBAAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAFBCAYAAACmSaFVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de0BUZf4/8DcDjIqIIN5GreyGooas\nolauGKOVmopKbu7WmloqFiVpGWbWqrWi3839pZmgpdlqmqaF96w07Upp28UyLTc1lIspyE25DM/v\nj5ZZlItzhjlzPjO8X3/JzJk5D/Me4WHOOc/bRymlQERERES6Mxk9ACIiIqKGghMvIiIiIjfhxIuI\niIjITTjxIiIiInITTryIiIiI3IQTLyIiIiI34cSLyGDPPPMMli5davQwiIjIDXy4jhd5KqvVit9+\n+w2+vr7223bt2oU2bdo4/Zzp6el44oknsH//flcM0eMkJSWhTZs2eOyxx4weSp3y8/Pxwgsv4P33\n30dhYSGuvvpqjBs3DnFxcZdst3nzZqxatQonT55EYGAgBg4ciOnTpyMoKAgAsGTJEqSkpMBsNgMA\n2rZti8TERNx555017re0tBSLFi3Cjh07UFBQgJCQEAwYMACzZs3S9xu+gh07duD111/H4cOHERER\ngX/961+aHu+q1zM/Px/z58/H/v37UVxcjNatWyMuLg6TJk1y2feqp88//xxLly7FDz/8gObNm2PP\nnj1GD4m8kJ/RAyCqj5SUFNx6661GD8OuvLwcfn6e+d/KZrMZPQSHlJaWYty4cQgNDcX69evRtm1b\nfPbZZ0hKSkJ+fj7Gjx8PAFi5ciVeeeUVJCcn45ZbbkF2djbmzJmD8ePHY926dfbJ1uDBg/GPf/wD\nAPDRRx/h4YcfRs+ePdGyZctq+16+fDkOHTqEjRs3onXr1jh16hQOHDjg0u/PmfdQcHAwxo4di//8\n5z9IT0/X9FhXvp7z589HcXExduzYgWbNmuGXX37BTz/9pGk8ruLM6xgQEIC4uDgMHToUqampOo2M\nGjxF5KFiYmLUJ598UuN9//73v9U999yjevbsqYYNG6Y+//xz+31vvfWWGjRokIqMjFRWq1WtW7dO\nKaVUUVGRuummm1SnTp1UZGSkioyMVFlZWerJJ59UixYtsj/+888/V/369btkHKmpqWro0KGqa9eu\nqqysTGVlZamEhATVp08fFRMTo1avXl3r91H1+Sufe/ny5ermm29Wffv2Ve+995768MMP1R133KF6\n9eqlli1bZn/s4sWL1SOPPKKmTp2qIiMj1YgRI9Thw4ft9//888/qvvvuUz179lRDhgxR77///iX7\nfeaZZ9SDDz6ounfvrtavX6+6dOmiunbtqiIjI9XkyZOVUkqlpqaqAQMGqMjISDV48GC1e/du+3Ns\n2rRJjRkzRiUnJ6uoqCgVExOjPvzwQ/v9ubm5KikpSfXt21dFRUWpKVOm2O/bs2ePGj58uOrZs6e6\n5557Lhl3XTZs2KBuvvlmVVRUdMnt27dvV5GRkaqgoEAVFBSoyMhItX379ku2KSwsVH369FEbN260\nv37Tp0+/ZJubb75ZHTx4sMZ9T5o0Sa1atarWsZ0+fVo9/PDDqk+fPqp3795qzpw5SimlbDabWrp0\nqbrtttvUzTffrJ544gmVn5+vlFLq119/VWFhYWrDhg2qf//+6i9/+YtSqu73cF2vzX333Vft9qFD\nh6otW7bU+hhXvZ533XWXeu+99644TqWUunjxopo+fbrq3bu36tmzpxo1apQ6c+aMUqru982bb76p\nBg4cqHr16qUmT56ssrKy7PeFhYWpNWvWqNtvv13FxMQopX7/PzBu3DjVq1cvdccdd1T7HmryySef\n2B9P5GqceJHHqm3ilZWVpXr37q0+/PBDZbPZ1Mcff6x69+6tzp49q5RSau/everEiROqoqJCpaen\nq4iICHXo0CGlVPVJlVLKoYnX8OHD1enTp9WFCxeUzWZTI0eOVEuWLFElJSXq5MmTymq1qv3799f4\nfVw+8QoPD1dLlixRpaWl6s0331R9+vRR06ZNUwUFBero0aPqpptuUidPnlRK/T5x6NKli9q5c6cq\nLS1Vr7zyioqJiVGlpaWqtLRUDRw4UC1btkyVlJSoTz/9VEVGRqpjx47Z99ujRw914MABZbPZ1MWL\nF6t9r0optWPHDpWVlaVsNpvavn276t69u8rOzlZK/T7x6tKli3rzzTdVeXm5Wrt2rerbt6+qqKhQ\nSik1ceJENXXqVJWXl6dKS0tVenq6Ukqp77//Xt18883q66+/VuXl5Wrz5s0qJiZGlZSUXDH3xMRE\nNWPGjGq3l5WVqfDwcLV//361b98+FR4ersrKyqptN2PGDPXYY4/ZX7/KiVdFRYXau3ev6tmzpzp/\n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\nIjf5/1lJiYZ9mrVoAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yY4Grb7momWG",
        "colab_type": "text"
      },
      "source": [
        "SFI가 뭔가 잘못됐다. 반대로인가."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bgl4wBYPoqk5",
        "colab_type": "text"
      },
      "source": [
        "# 3. Take the results from exercise 2:\n",
        "(a) Drop the most important features according to each method, resulting in a\n",
        "features matrix ⃛X.\n",
        "(b) Compute MDI, MDA, and SFI feature importance on (⃛X, y), where the base\n",
        "estimator is RF.\n",
        "(c) Do you appreciate significant changes in the rankings of important features,\n",
        "relative to the results from exercise 2?"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "cx01mXLbo3ud",
        "colab_type": "text"
      },
      "source": [
        "sfi는 잠시 안하겠다."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XLpxfhxTmo8i",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# 3개 빼보자.\n",
        "drop = [2,'R_0','I_1']\n",
        "X3 = X2.drop(drop,axis=1)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SrfvEBa3pe9u",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "fit3 = clf.fit(X3,y)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "P7Ep5zw9pMZO",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "mdi3 = feature_importance.feature_importance_mean_decrease_impurity(clf=fit3, feature_names = X3.columns.to_list())"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lt7c0UO3pkjh",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "afe6f90f-b9ee-4bb4-c23b-11bda97ca993"
      },
      "source": [
        "mdi3.sort_values('mean',ascending=False).head(5)"
      ],
      "execution_count": 212,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>0.093477</td>\n",
              "      <td>0.003825</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.081622</td>\n",
              "      <td>0.003016</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_1</th>\n",
              "      <td>0.076300</td>\n",
              "      <td>0.002895</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>0.075042</td>\n",
              "      <td>0.002628</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>0.074523</td>\n",
              "      <td>0.002975</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         mean       std\n",
              "I_4  0.093477  0.003825\n",
              "0    0.081622  0.003016\n",
              "R_1  0.076300  0.002895\n",
              "I_0  0.075042  0.002628\n",
              "I_2  0.074523  0.002975"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 212
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XuBFNstOpnjB",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "mda3 = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=X3,y=y,cv_gen=cv_gen, sample_weight=cont['w'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H5QkxLxxp5MM",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        },
        "outputId": "a5a7c41e-35b4-4554-e11d-f6a0e72ae587"
      },
      "source": [
        "mda3.sort_values('mean',ascending=False).head(5)"
      ],
      "execution_count": 215,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>0.082449</td>\n",
              "      <td>0.032835</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.080901</td>\n",
              "      <td>0.025261</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>0.078295</td>\n",
              "      <td>0.038576</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>0.065433</td>\n",
              "      <td>0.026185</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_3</th>\n",
              "      <td>0.055288</td>\n",
              "      <td>0.017246</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         mean       std\n",
              "I_0  0.082449  0.032835\n",
              "0    0.080901  0.025261\n",
              "I_4  0.078295  0.038576\n",
              "I_2  0.065433  0.026185\n",
              "R_3  0.055288  0.017246"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 215
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SdUMPPwsp7-z",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 627
        },
        "outputId": "3f399b89-e9ff-4f09-d47a-53316b87e4bb"
      },
      "source": [
        "feature_importance.plot_feature_importance(imp=mdi2,oob_score=1,oos_score=1)\n",
        "feature_importance.plot_feature_importance(imp=mdi3,oob_score=1,oos_score=1)"
      ],
      "execution_count": 221,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x316.8 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "oWxqLDUWqeRz",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 627
        },
        "outputId": "24e625ad-d6a0-4b55-8746-c4dd48428ed2"
      },
      "source": [
        "feature_importance.plot_feature_importance(imp=mda2,oob_score=1,oos_score=1)\n",
        "feature_importance.plot_feature_importance(imp=mda3,oob_score=1,oos_score=1)"
      ],
      "execution_count": 223,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAFBCAYAAACvogEvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de1xUZeI/8A8wjIiAEKmMmdq6oagp\nea1cMUczMRBFLV9ZprQqlqbp5uqqlZdN9FvuL80CK83SNC1T875FSdZKaRfTTLfWSygXb4iAMLfn\n94fLLMjFmTnPYc6Bz/v16vVymDNznvmE8nAuz8dHCCFARERERNL5ensARERERHUVJ1pEREREKuFE\ni4iIiEglnGgRERERqYQTLSIiIiKVcKJFREREpBJOtIi87Pnnn8eKFSu8PQwiIlKBD9fRIr0ym824\ncOEC/Pz8nF/bvXs3mjVr5vF7ZmZm4rnnnkNGRoaMIerOzJkz0axZMzz77LPeHkqNCgoK8Morr+DT\nTz9FYWEhWrZsiTFjxmDYsGEVttu8eTNWr16NM2fOICgoCP3798f06dMREhICAFi+fDlSU1NhNBoB\nABEREZg6dSoefPDBKvdrsViwdOlS7Ny5E1evXkVYWBj69euH2bNnq/uBb2Lnzp149913cezYMXTq\n1AnvvfeeW6+XlWdBQQEWLVqEjIwMFBcXo2nTphg2bBjGjx8v7bOq6cCBA1ixYgV+/vlnNG7cGOnp\n6d4eEtUBBm8PgEiJ1NRU3Hfffd4ehpPNZoPBoM+/Vna73dtDcInFYsGYMWMQHh6ODRs2ICIiAv/6\n178wc+ZMFBQUYOzYsQCAVatW4a233kJKSgruvfde5ObmYt68eRg7dizWr1/vnFzFxsbi5ZdfBgB8\n+eWXePrpp9G1a1fceuutlfa9cuVKHDlyBJs2bULTpk1x9uxZHDx4UOrn8+R7KDQ0FKNHj8Z//vMf\nZGZmuvVamXkuWrQIxcXF2LlzJ4KDg3Hy5En8+9//dms8sniSY2BgIIYNG4a4uDikpaWpNDKqdwSR\nTvXt21d89dVXVT73/fffi0ceeUR07dpVxMfHiwMHDjif+/DDD8XAgQNFdHS0MJvNYv369UIIIYqK\nisRdd90l2rZtK6Kjo0V0dLTIyckRf/3rX8XSpUudrz9w4IDo3bt3hXGkpaWJuLg40aFDB2G1WkVO\nTo6YNGmS6Nmzp+jbt69Ys2ZNtZ+j/PuXvffKlSvFPffcI3r16iX++c9/ii+++EIMGDBAdO/eXbzx\nxhvO1y5btkxMnjxZTJkyRURHR4shQ4aIY8eOOZ//9ddfxWOPPSa6du0qBg0aJD799NMK+33++efF\nn//8Z9G5c2exYcMG0b59e9GhQwcRHR0tJkyYIIQQIi0tTfTr109ER0eL2NhYsXfvXud7fPTRR2Lk\nyJEiJSVFdOvWTfTt21d88cUXzucvX74sZs6cKXr16iW6desmJk6c6HwuPT1dDB48WHTt2lU88sgj\nFcZdk40bN4p77rlHFBUVVfj6jh07RHR0tLh69aq4evWqiI6OFjt27KiwTWFhoejZs6fYtGmTM7/p\n06dX2Oaee+4Rhw4dqnLf48ePF6tXr652bOfOnRNPP/206Nmzp+jRo4eYN2+eEEIIu90uVqxYIe6/\n/35xzz33iOeee04UFBQIIYT4/fffRWRkpNi4caPo06ePePTRR4UQNX8P15TNY489VunrcXFxYtu2\nbdW+RlaeDz30kPjnP/9503EKIURJSYmYPn266NGjh+jatatITEwU58+fF0LU/H3zwQcfiP79+4vu\n3buLCRMmiJycHOdzkZGRYu3ateKBBx4Qffv2FUJc/zswZswY0b17dzFgwIBKn6EqX331lfP1REpx\nokW6Vd1EKycnR/To0UN88cUXwm63i/3794sePXqIixcvCiGE+Pzzz8Xp06eFw+EQmZmZolOnTuLI\nkSNCiMqTKCGESxOtwYMHi3Pnzolr164Ju90uhg4dKpYvXy5KS0vFmTNnhNlsFhkZGVV+jhsnWlFR\nUWL58uXCYrGIDz74QPTs2VNMmzZNXL16VZw4cULcdddd4syZM0KI6xOF9u3bi127dgmLxSLeeust\n0bdvX2GxWITFYhH9+/cXb7zxhigtLRVff/21iI6OFr/99ptzv126dBEHDx4UdrtdlJSUVPqsQgix\nc+dOkZOTI+x2u9ixY4fo3LmzyM3NFUJcn2i1b99efPDBB8Jms4l169aJXr16CYfDIYQQYty4cWLK\nlCkiPz9fWCwWkZmZKYQQ4ujRo+Kee+4RP/zwg7DZbGLz5s2ib9++orS09Kb/36dOnSpmzJhR6etW\nq1VERUWJjIwMsW/fPhEVFSWsVmul7WbMmCGeffZZZ35lEy2HwyE+//xz0bVrV3HlypUq971ixQrR\n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\nqeT/AzDJqGc6FXBAAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 720x316.8 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "etkot76qqyfq",
        "colab_type": "text"
      },
      "source": [
        "순위가 비슷한거같으나 다르긴하다."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "wnZ5wwqXq-T9",
        "colab_type": "text"
      },
      "source": [
        "# 4.Using the code presented in Section 8.6:\n",
        "\n",
        "(a) Generate a dataset (X, y) of 1E6 observations, where 5 features are informative,\n",
        "5 are redundant and 10 are noise.\n",
        "(b) Split (X, y) into 10 datasets {(Xi, yi)}i=1,…,10, each of 1E5 observations.\n",
        "(c) Compute the parallelized feature importance (Section 8.5), on each of the 10\n",
        "datasets, {(Xi, yi)}i=1,…,10.\n",
        "(d) Compute the stacked feature importance on the combined dataset (X, y)."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "CN-N5PQpqshs",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 408
        },
        "outputId": "8b3b1623-cb26-42a1-e1b2-d365c4fcf1f6"
      },
      "source": [
        "trnsx2, y2 = getTestData(15,5,5,1000000) "
      ],
      "execution_count": 227,
      "outputs": [
        {
          "output_type": "error",
          "ename": "OverflowError",
          "evalue": "ignored",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mOverflowError\u001b[0m                             Traceback (most recent call last)",
            "\u001b[0;32m<ipython-input-227-60ce5a2ff5db>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtrnsx2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetTestData\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m15\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m5\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m5\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1000000\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
            "\u001b[0;32m<ipython-input-162-5085f2a56516>\u001b[0m in \u001b[0;36mgetTestData\u001b[0;34m(n_features, n_informative, n_redundant, n_samples)\u001b[0m\n\u001b[1;32m      3\u001b[0m   \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdatasets\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmake_classification\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m   \u001b[0mtrnsX\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mcont\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmake_classification\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn_samples\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_samples\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mn_features\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_features\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mn_informative\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_informative\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mn_redundant\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_redundant\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mrandom_state\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mshuffle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m   \u001b[0mdf0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDatetimeIndex\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mperiods\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mn_samples\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mfreq\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtseries\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moffsets\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mBDay\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtoday\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      6\u001b[0m   \u001b[0mtrnsX\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mcont\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrnsX\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdf0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSeries\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcont\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdf0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_frame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'bin'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m   \u001b[0mdf0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'I_'\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn_informative\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m+\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'R_'\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn_redundant\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/datetimes.py\u001b[0m in \u001b[0;36m__new__\u001b[0;34m(cls, data, freq, start, end, periods, tz, normalize, closed, ambiguous, dayfirst, yearfirst, dtype, copy, name, verify_integrity)\u001b[0m\n\u001b[1;32m    299\u001b[0m                 \u001b[0mnormalize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnormalize\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    300\u001b[0m                 \u001b[0mclosed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mclosed\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 301\u001b[0;31m                 \u001b[0mambiguous\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mambiguous\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    302\u001b[0m             )\n\u001b[1;32m    303\u001b[0m             warnings.warn(\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/core/arrays/datetimes.py\u001b[0m in \u001b[0;36m_generate_range\u001b[0;34m(cls, start, end, periods, freq, tz, normalize, ambiguous, nonexistent, closed)\u001b[0m\n\u001b[1;32m    532\u001b[0m                     \u001b[0mend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtz_localize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    533\u001b[0m             \u001b[0;31m# TODO: consider re-implementing _cached_range; GH#17914\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 534\u001b[0;31m             \u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_tz\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_regular_range\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mperiods\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfreq\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    535\u001b[0m             \u001b[0mindex\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_simple_new\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfreq\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfreq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtz_to_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_tz\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    536\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/core/arrays/_ranges.py\u001b[0m in \u001b[0;36mgenerate_regular_range\u001b[0;34m(start, end, periods, freq)\u001b[0m\n\u001b[1;32m     79\u001b[0m         \u001b[0mxdr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_range\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mperiods\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mperiods\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moffset\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfreq\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     80\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m         \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mxdr\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mint64\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     82\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     83\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtz\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/core/arrays/_ranges.py\u001b[0m in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m     79\u001b[0m         \u001b[0mxdr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_range\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mend\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mperiods\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mperiods\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moffset\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfreq\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     80\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m         \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalue\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mxdr\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mint64\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     82\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     83\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtz\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/tseries/offsets.py\u001b[0m in \u001b[0;36mgenerate_range\u001b[0;34m(start, end, periods, offset)\u001b[0m\n\u001b[1;32m   2742\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2743\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mstart\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2744\u001b[0;31m         \u001b[0mstart\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mend\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mperiods\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0moffset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   2745\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   2746\u001b[0m     \u001b[0mcur\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mstart\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32mpandas/_libs/tslibs/offsets.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.offsets.BaseOffset.__rsub__\u001b[0;34m()\u001b[0m\n",
            "\u001b[0;32mpandas/_libs/tslibs/offsets.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.offsets._BaseOffset.__add__\u001b[0;34m()\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/tseries/offsets.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m    110\u001b[0m                 \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtz_localize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    111\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 112\u001b[0;31m             \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    113\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    114\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_adjust_dst\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pandas/tseries/offsets.py\u001b[0m in \u001b[0;36mapply\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m    595\u001b[0m                 \u001b[0mdays\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mn\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    596\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 597\u001b[0;31m             \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mtimedelta\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdays\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m7\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mweeks\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mdays\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    598\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moffset\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    599\u001b[0m                 \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moffset\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
            "\u001b[0;32mpandas/_libs/tslibs/c_timestamp.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.c_timestamp._Timestamp.__add__\u001b[0;34m()\u001b[0m\n",
            "\u001b[0;31mOverflowError\u001b[0m: Python int too large to convert to C long"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "l8Yv8f4UrYDD",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 71
        },
        "outputId": "077cb3d3-e2d1-4a5c-e912-9a0f4bd80e92"
      },
      "source": [
        "trnsx2, cont2 = getTestData(15,5,5,10000)"
      ],
      "execution_count": 231,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:5: FutureWarning: Creating a DatetimeIndex by passing range endpoints is deprecated.  Use `pandas.date_range` instead.\n",
            "  \"\"\"\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wo1qE8HquXtl",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "y2 = cont2.bin\n",
        "c2 = cont2"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ACLNqG-Ix8gl",
        "colab_type": "text"
      },
      "source": [
        "반복문쓰는거 잘 좀 알고싶다."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KGCSM9gAranh",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "xa = trnsx2.iloc[0:2000]\n",
        "xb = trnsx2.iloc[2000:4000]\n",
        "xc = trnsx2.iloc[4000:6000]\n",
        "xd = trnsx2.iloc[6000:8000]\n",
        "xe = trnsx2.iloc[8000:10000]\n",
        "\n",
        "ca = c2.iloc[0:2000]\n",
        "cb = c2.iloc[2000:4000]\n",
        "cc = c2.iloc[4000:6000]\n",
        "cd = c2.iloc[6000:8000]\n",
        "ce = c2.iloc[8000:10000]\n",
        "\n",
        "ya = y2.iloc[0:2000]\n",
        "yb = y2.iloc[2000:4000]\n",
        "yc = y2.iloc[4000:6000]\n",
        "yd = y2.iloc[6000:8000]\n",
        "ye = y2.iloc[8000:10000]"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UkXCdAYWsuWl",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 527
        },
        "outputId": "fc15435c-8627-4865-87d9-90b93c72fbe1"
      },
      "source": [
        "cv_gena = cross_validation.PurgedKFold(3, ca['t1'], 0.01)\n",
        "cv_genb = cross_validation.PurgedKFold(3, cb['t1'], 0.01)\n",
        "cv_genc = cross_validation.PurgedKFold(3, cc['t1'], 0.01)\n",
        "cv_gend = cross_validation.PurgedKFold(3, cd['t1'], 0.01)\n",
        "cv_gene = cross_validation.PurgedKFold(3, ce['t1'], 0.01)\n",
        "\n",
        "\n",
        "mdaa = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=xa,y=ya,cv_gen=cv_gena, sample_weight=ca['w'])\n",
        "mdab = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=xb,y=yb,cv_gen=cv_genb, sample_weight=cb['w'])\n",
        "mdac = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=xc,y=yc,cv_gen=cv_genc, sample_weight=cc['w'])\n",
        "mdad = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=xd,y=yd,cv_gen=cv_gend, sample_weight=cd['w'])\n",
        "mdae = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=xe,y=ye,cv_gen=cv_gene, sample_weight=ce['w'])\n",
        "\n",
        "print(mdaa.sort_values('mean',ascending=False).head())\n",
        "print(mdab.sort_values('mean',ascending=False).head())\n",
        "print(mdac.sort_values('mean',ascending=False).head())\n",
        "print(mdad.sort_values('mean',ascending=False).head())\n",
        "print(mdae.sort_values('mean',ascending=False).head())"
      ],
      "execution_count": 241,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "         mean       std\n",
            "I_1  0.050726  0.039985\n",
            "I_4  0.050608  0.042746\n",
            "I_0  0.036173  0.026800\n",
            "I_2  0.029134  0.025646\n",
            "I_3  0.027742  0.023558\n",
            "         mean       std\n",
            "I_4  0.286360  0.168057\n",
            "I_1  0.208924  0.132225\n",
            "R_0  0.198498  0.107133\n",
            "R_1  0.193157  0.104119\n",
            "R_4  0.160806  0.094777\n",
            "         mean       std\n",
            "I_4  0.063419  0.030933\n",
            "I_1  0.055401  0.083299\n",
            "R_3  0.049312  0.036539\n",
            "I_2  0.042037  0.094535\n",
            "R_0  0.036678  0.093618\n",
            "         mean       std\n",
            "I_2  0.107099  0.053764\n",
            "I_3  0.054742  0.019247\n",
            "I_0  0.022906  0.018156\n",
            "R_2  0.018924  0.012256\n",
            "R_4  0.005360  0.046685\n",
            "         mean       std\n",
            "I_4  0.090705  0.155269\n",
            "I_3  0.008340  0.003794\n",
            "N_3  0.001184  0.001020\n",
            "N_1 -0.046717  0.045153\n",
            "N_4 -0.118183  0.120620\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "acvUP5wHvITT",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "따로해서합친거 = (mdaa['mean']+\n",
        "mdab['mean']+\n",
        "mdac['mean']+\n",
        "mdad['mean']+\n",
        "mdae['mean'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yds0PfHCwdZM",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 514
        },
        "outputId": "04c569b9-8e29-4917-847b-745d76b1fe51"
      },
      "source": [
        "따로해서합친거.to_frame().sort_values('mean',ascending=False)"
      ],
      "execution_count": 249,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>0.473738</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_3</th>\n",
              "      <td>0.215172</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_1</th>\n",
              "      <td>0.074096</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>-0.001060</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_3</th>\n",
              "      <td>-0.005419</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>-0.007445</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_2</th>\n",
              "      <td>-0.125504</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_2</th>\n",
              "      <td>-0.151261</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_1</th>\n",
              "      <td>-0.276663</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_0</th>\n",
              "      <td>-0.444877</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_3</th>\n",
              "      <td>-0.514616</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_0</th>\n",
              "      <td>-0.558409</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_1</th>\n",
              "      <td>-1.149321</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_4</th>\n",
              "      <td>-1.368370</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_4</th>\n",
              "      <td>-1.609022</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         mean\n",
              "I_4  0.473738\n",
              "I_3  0.215172\n",
              "N_1  0.074096\n",
              "I_2 -0.001060\n",
              "N_3 -0.005419\n",
              "I_0 -0.007445\n",
              "R_2 -0.125504\n",
              "N_2 -0.151261\n",
              "I_1 -0.276663\n",
              "R_0 -0.444877\n",
              "R_3 -0.514616\n",
              "N_0 -0.558409\n",
              "R_1 -1.149321\n",
              "R_4 -1.368370\n",
              "N_4 -1.609022"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 249
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fCxCDjFnw-84",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 514
        },
        "outputId": "78aa926e-b5e5-45f2-9759-bc6e1f8084b2"
      },
      "source": [
        "cv_gen2 = cross_validation.PurgedKFold(3, cont2['t1'], 0.01)\n",
        "합쳐서한거 = feature_importance.feature_importance_mean_decrease_accuracy(clf=clf, X=trnsx2,y=y2,cv_gen=cv_gen2, sample_weight=cont2['w'])\n",
        "합쳐서한거.sort_values('mean',ascending=False)"
      ],
      "execution_count": 250,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>std</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>R_0</th>\n",
              "      <td>0.087175</td>\n",
              "      <td>0.078179</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_2</th>\n",
              "      <td>0.058215</td>\n",
              "      <td>0.037020</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_1</th>\n",
              "      <td>0.046753</td>\n",
              "      <td>0.056338</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_4</th>\n",
              "      <td>0.016077</td>\n",
              "      <td>0.006397</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_1</th>\n",
              "      <td>0.015364</td>\n",
              "      <td>0.007402</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_0</th>\n",
              "      <td>0.002690</td>\n",
              "      <td>0.079281</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_3</th>\n",
              "      <td>0.000991</td>\n",
              "      <td>0.012477</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_0</th>\n",
              "      <td>-0.001794</td>\n",
              "      <td>0.002800</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>N_2</th>\n",
              "      <td>-0.002218</td>\n",
              "      <td>0.002262</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_3</th>\n",
              "      <td>-0.003272</td>\n",
              "      <td>0.056308</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_3</th>\n",
              "      <td>-0.007815</td>\n",
              "      <td>0.031629</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_2</th>\n",
              "      <td>-0.010238</td>\n",
              "      <td>0.037890</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>I_4</th>\n",
              "      <td>-0.059665</td>\n",
              "      <td>0.116566</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_4</th>\n",
              "      <td>-0.061172</td>\n",
              "      <td>0.070630</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>R_1</th>\n",
              "      <td>-0.067892</td>\n",
              "      <td>0.100482</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "         mean       std\n",
              "R_0  0.087175  0.078179\n",
              "I_2  0.058215  0.037020\n",
              "I_1  0.046753  0.056338\n",
              "N_4  0.016077  0.006397\n",
              "N_1  0.015364  0.007402\n",
              "I_0  0.002690  0.079281\n",
              "N_3  0.000991  0.012477\n",
              "N_0 -0.001794  0.002800\n",
              "N_2 -0.002218  0.002262\n",
              "R_3 -0.003272  0.056308\n",
              "I_3 -0.007815  0.031629\n",
              "R_2 -0.010238  0.037890\n",
              "I_4 -0.059665  0.116566\n",
              "R_4 -0.061172  0.070630\n",
              "R_1 -0.067892  0.100482"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 250
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9GtloSJdxucL",
        "colab_type": "text"
      },
      "source": [
        "딱히 우열이 가려지진않는다.."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZQ1EPqqcxkqx",
        "colab_type": "text"
      },
      "source": [
        "#5. Repeat all MDI calculations from exercises 1–4, but this time allow for masking effects. That means, do not set max_features=int(1) in Snippet 8.2. How do results differ as a consequence of this change? Why?"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sPB6PRgGx26J",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 491
        },
        "outputId": "e7e0daa3-8a7f-483f-b891-fec731c093fb"
      },
      "source": [
        "# 2번 것으로 하겠다.\n",
        "#우선 max_features=1로 했을때,\n",
        "print(mdi2.sort_values('mean',ascending=False).head(8))\n",
        "feature_importance.plot_feature_importance(imp=mdi2,oob_score=1,oos_score=1)"
      ],
      "execution_count": 255,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "         mean       std\n",
            "2    0.110418  0.008164\n",
            "R_0  0.089293  0.006263\n",
            "I_1  0.087870  0.006481\n",
            "I_4  0.066689  0.003593\n",
            "0    0.054217  0.003204\n",
            "I_2  0.053678  0.002719\n",
            "R_1  0.053399  0.003367\n",
            "I_0  0.049011  0.002186\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAloAAAFBCAYAAACvogEvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3deVyU5d4G8IttVAQEUWHIlDYUNSXX\nyiPqaCUGLqjlR8uUEqFMTcujIZXaSfSU57gGtpiGaWrmjllRkpWWtpjl0qISyqIoIiAMzNzvH77M\nUdlmee6HmeH6fj7n88bMMzO/uQ4n7neeZ+7LRQghQERERESKc63vAYiIiIicFRdaRERERJJwoUVE\nREQkCRdaRERERJJwoUVEREQkCRdaRERERJJwoUVUz1566SWsWLGivscgIiIJXLiPFjkqnU6HCxcu\nwM3NzXTbnj17EBAQYPVzHjx4EC+88AIyMjKUGNHhzJo1CwEBAXjuuefqe5RaFRYW4o033sBnn32G\noqIitGnTBuPHj8eIESNuOG7Lli1YvXo1MjMz4eXlhYEDB2LGjBnw8fEBACxbtgzJycnQaDQAgMDA\nQEybNg0PPfRQta+r1+uxePFi7N69G1euXIGfnx8GDBiAhIQEuW+4Drt378batWtx7NgxdO7cGe+/\n/75Fj1cqz8LCQixYsAAZGRkoKSlBq1atMGLECMTGxir2XmU6cOAAVqxYgd9++w3NmjVDenp6fY9E\nTsC9vgcgskVycjLuv//++h7DpKKiAu7ujvk/K4PBUN8jmEWv12P8+PHw9/fHhg0bEBgYiG+//Raz\nZs1CYWEhJkyYAAB499138fbbbyMpKQn33XcfcnNzMXfuXEyYMAHr1683La4iIiLw+uuvAwC++uor\nPPPMM+jWrRtatGhR5bVXrVqFo0ePYtOmTWjVqhXOnj2LQ4cOKfr+rPkd8vX1xbhx4/DXX3/h4MGD\nFj1WyTwXLFiAkpIS7N69G97e3jh16hR+//13i+ZRijU5enp6YsSIEYiMjERKSoqkyajBEUQOqn//\n/uLrr7+u9r4ff/xRPProo6Jbt24iKipKHDhwwHTf5s2bxaBBg0RYWJjQ6XRi/fr1QgghiouLxd13\n3y3atWsnwsLCRFhYmMjJyRH//Oc/xeLFi02PP3DggOjTp88Nc6SkpIjIyEjRsWNHUV5eLnJycsTk\nyZNFr169RP/+/cWaNWtqfB/XP3/lc69atUrce++9onfv3uLTTz8VX375pXjwwQdFjx49xJtvvml6\n7NKlS8Wzzz4rpk6dKsLCwsSwYcPEsWPHTPf/8ccf4rHHHhPdunUTgwcPFp999tkNr/vSSy+Jp556\nSnTp0kVs2LBBdOjQQXTs2FGEhYWJSZMmCSGESElJEQMGDBBhYWEiIiJC7N271/QcH330kRg9erRI\nSkoS3bt3F/379xdffvml6f5Lly6JWbNmid69e4vu3buL+Ph4033p6eliyJAholu3buLRRx+9Ye7a\nbNy4Udx7772iuLj4htt37dolwsLCxJUrV8SVK1dEWFiY2LVr1w3HFBUViV69eolNmzaZ8psxY8YN\nx9x7773i8OHD1b52bGysWL16dY2znTt3TjzzzDOiV69eomfPnmLu3LlCCCEMBoNYsWKF6Nevn7j3\n3nvFCy+8IAoLC4UQQvz9998iJCREbNy4UfTt21eMGTNGCFH773Bt2Tz22GNVbo+MjBTbt2+v8TFK\n5fnwww+LTz/9tM45hRCitLRUzJgxQ/Ts2VN069ZNREdHi/Pnzwshav+9+fDDD8XAgQNFjx49xKRJ\nk0ROTo7pvpCQEJGamioeeOAB0b9/fyHEtf8NjB8/XvTo0UM8+OCDVd5Ddb7++mvT44lsxYUWOaya\nFlo5OTmiZ8+e4ssvvxQGg0Hs379f9OzZU+Tn5wshhPjiiy/EmTNnhNFoFAcPHhSdO3cWR48eFUJU\nXUQJIcxaaA0ZMkScO3dOXL16VRgMBjF8+HCxbNkyUVZWJjIzM4VOpxMZGRnVvo+bF1qhoaFi2bJl\nQq/Xiw8//FD06tVLTJ8+XVy5ckWcPHlS3H333SIzM1MIcW2h0KFDB5GWlib0er14++23Rf/+/YVe\nrxd6vV4MHDhQvPnmm6KsrEx88803IiwsTPz555+m1+3atas4dOiQMBgMorS0tMp7FUKI3bt3i5yc\nHGEwGMSuXbtEly5dRG5urhDi2kKrQ4cO4sMPPxQVFRVi3bp1onfv3sJoNAohhJg4caKYOnWqKCgo\nEHq9Xhw8eFAIIcSvv/4q7r33XvHTTz+JiooKsWXLFtG/f39RVlZW53/v06ZNEzNnzqxye3l5uQgN\nDRUZGRli3759IjQ0VJSXl1c5bubMmeK5554z5Ve50DIajeKLL74Q3bp1E5cvX672tVesWCH69u0r\nUlNTxfHjx03vUwghKioqRFRUlPjXv/4liouLRWlpqfj++++FEEJs2rRJDBw4UGRmZoqioiLxzDPP\niOeff14I8b+F1gsvvCCKi4vF1atX6/wdTklJEbGxsVXmq2mhVRsl83zxxRfF4MGDxebNm8WpU6dq\nfd3169eLSZMmiZKSElFRUSF++eUXceXKFSFEzb8333zzjejZs6c4evSoKCsrE/PmzTMtTIW4ttAa\nP368uHTpkrh69aooLi4W4eHhYvPmzaK8vFz8+uuvomfPnuL3338XQgixfft2ERkZWWU2LrRISbwY\nnhzaM888g+7du6N79+54+umnAQDbtm1DeHg4+vbtC1dXV/Tu3RudOnXCvn37AAD9+vVDmzZt4OLi\ngp49e6J37942n/55/PHHodVq0bhxY/zyyy+4ePEiJk+eDI1Gg1tvvRWPPPIIdu/ebdZzubu7Iz4+\nHh4eHhg8eDAuXbqEcePGwcvLC3fddRfuvPNOnDhxwnR8x44dMWjQIHh4eGDChAnQ6/X4+eef8fPP\nP6OkpASxsbHQaDS477770L9/f+zatcv02AEDBqBbt25wdXVFo0aNqp0nIiICAQEBcHV1xeDBg9G2\nbVscOXLEdH9QUBAeeeQRuLm5Yfjw4Th//jwuXLiAvLw8ZGRkYO7cuWjWrBk8PDzQs2dPAMCHH36I\nRx99FF26dDE9zsPDAz/99FOd+Vy6dAktW7asNjc/Pz9cunQJly5dgp+fX7Wnjlq2bIlLly6Zft6z\nZw+6d++Oe+65B/Hx8Zg0aZLpmqObTZo0CRMnTsSOHTswYsQI9OnTBx9//DEA4MiRI8jLy8PMmTPh\n6emJRo0aoXv37gCAHTt2YPz48bj11lvRtGlTTJ8+Hbt370ZFRYXpuZ999ll4enqicePGdf4Ox8bG\nKnZqS8k8ExMTERUVhXXr1uHhhx/GAw88YJq5uucvKCjAmTNn4Obmhk6dOsHLy6vW35vK3Dt27AiN\nRoPp06fjp59+QlZWlul5Y2Nj4evri8aNG+PLL7/ELbfcghEjRsDd3R0dOnTAQw89hD179gAAoqKi\nsGPHDpszJKqNY15MQvT/VqxYUeUarXPnzmHPnj344osvTLdVVFSgV69eAIB9+/ZhxYoVOH36NIxG\nI0pLSxESEmLTHFqt1vTPZ8+eRV5enumPLHDt+qfrf66Nr6+v6QL/xo0bAwD8/f1N9zdq1AjFxcWm\nnwMDA03/7OrqioCAAOTl5Znuc3X93/8/FRQUhNzc3GrnrsnWrVuxevVqnD17FgBQUlJyw0Ll+muZ\nmjRpYjrm8uXLaNasGZo1a1blOc+dO4etW7ciNTXVdFt5eblp7tr4+fnh/PnzVW6vqKgwLQiEELh0\n6VK11+mcP38efn5+pp8HDRpkukYrKysLcXFx8Pb2xujRo6u8hpubG8aOHYuxY8eitLQUH330EV58\n8UV07twZ2dnZCAoKqnYxkpeXh1tuucX08y233IKKigrk5+ebbrv+v8e6foeVpGSejRs3RlxcHOLi\n4lBUVIRVq1Zh2rRp+OKLL+Dr63vD44YOHYqcnBxMnz4dhYWFGDJkCJ577jnk5OTU+HuTl5eHjh07\nmn5u2rQpfH19kZubi9atWwOo+r/FI0eOVPnf4pAhQ6xIisg6XGiR09FqtRg6dCheffXVKvfp9XpM\nmTIFCxcuxIABA+Dh4YGnn34a4v+/fOvi4lLlMU2aNEFpaanp5wsXLlQ55vrHabVatG7dGnv37lXi\n7dQpJyfH9M9GoxG5ublo1aqV6T6j0WhabGVnZyM4OLjG57r5/Z89exZz5szBe++9h3vuuQdubm4Y\nOnSoWXMFBgbi8uXLKCwsrPIJkVarRVxcHOLj4816ruvdf//9WLx4MUpKSuDp6Wm6fe/evdBoNAgL\nCwMAaDQa7N27F4MHDzYdU1xcjIyMDEyfPr3a527dujX69OmDL774otqF1vUaN26MsWPHYunSpfjj\njz+g1WqRnZ1d7WKk8sL5SufOnYO7uzv8/f1N//3d/DtU0++w0mTl6eXlhUmTJiElJQVZWVlVFloe\nHh6YPHkyJk+ejKysLMTGxuK2225D3759a/y9uTnHkpISFBQU3PBN45tz7NGjB1avXm1lOkS246lD\ncjpDhgzBF198ga+++goGgwFlZWU4ePAgcnJyoNfrodfr0bx5c7i7u2Pfvn34+uuvTY/19/dHQUEB\nrly5YrotNDQU+/btQ0FBAc6fP481a9bU+vqdO3dG06ZNsWrVKpSWlsJgMODkyZM3nG5T0q+//oq9\ne/eioqICa9asgUajQZcuXdC5c2c0btwYb7/9NsrLy3Hw4EGkp6ff8IfyZv7+/jechrl69SpcXFzQ\nvHlzAMBHH31k9rfIWrVqhfDwcMydOxeXL19GeXk5vv/+ewDAqFGjsGHDBvz8888QQqCkpARffvkl\nioqK6nzeoUOHIjAwEFOnTkVWVhbKy8vx1Vdf4dVXX8XkyZPh7e0Nb29vPPPMM3j11VeRkZGB8vJy\nZGVlYdq0aQgMDKxxsZiTk4P9+/fjzjvvrPb+9957DwcPHkRpaSkqKirw8ccfo7i4GB06dEDnzp3R\nsmVLvPHGGygpKUFZWRkOHz4MAIiMjMSaNWvw999/o7i4GP/5z38QERFR47fiavsdrk7lMRUVFTAa\njSgrK0N5ebnpfp1Ohy1btkjPc8WKFThy5Aj0ej3Kysqwdu1a+Pj44LbbbqvyugcOHMCJEydgMBjg\n5eUFd3d3uLq61vp7ExkZiS1btuDYsWOmrTY6d+5s+jTrZv369cPp06exdetWlJeXo7y8HEeOHMGf\nf/5Z7fHXZyeEQFlZGfR6fbXHEpmLn2iR09FqtVi5ciX+/e9/Y8aMGXB1dUXnzp3xyiuvwMvLC3Pm\nzMG0adOg1+vRv39/6HQ602PvuOMOPPzwwxg4cCAMBgN27dqFoUOH4ptvvoFOpzNd7/Huu+/W+Ppu\nbm5ITk42fWqm1+tx2223Ydq0aVLe74ABA7B7927885//RNu2bbFs2TJ4eHgAuLb9xdy5c5GSkoKA\ngAAsWrQId9xxR43PNXLkSEydOhXdu3dHz549sXLlSsTExGD06NFwcXHBsGHD0LVrV7NnW7RoERYs\nWICIiAiUl5ejV69e6NGjB+6++27Mnz8f8+bNw5kzZ9C4cWN07drVdIrnqaeeQvfu3REXF1flOTUa\nDVavXo3FixfjkUceQVFREW699VY899xzGDVqlOm4iRMnwtfXF4sWLbph36fXX3/dtLUDAKSlpeHz\nzz8HcO1UlE6nw+TJk6t9P02aNMHChQtx5swZuLi4IDg4GMuWLcOtt95qyvvVV19F//79AVy7Bqhb\nt24YMWIEcnNz8dhjj6GsrAz/+Mc/kJiYWGNutf0OV77OoUOH8PbbbwO4dl3i7NmzTY/v3Lkzhg8f\njqSkJOj1ely6dAldunSp9rWUzNPFxQUvvvii6RO7du3aISUlBU2bNq3yuhcuXMDLL7+M3NxceHp6\nYvDgwaYFW02/N/fffz+mTp2KZ599FoWFhbjnnnvwn//8p8Ycvby88M477yApKQlJSUkQQqBdu3am\nrLZv346UlBTTdYvff/89xo0bd0OOPXv2tHhfMqLrccNSIge2bNkynDlzxnSNEdHNDh06hA8++ACL\nFy+u71GIGiR+okVE5MQqv5VLRPWD12gRERERScJTh0RERESS8BMtIiIiIkm40CIiIiKShAstIiIi\nIkns9luHly4Vw2jk5WMy+ft7IT+/7g0iyTbMWT5mrA7mrA7mLJ+SGbu6usDPr+pecZWkLbQuXbqE\nmTNnIjMzExqNBm3btsW8efNMO0zXpbi0AgaDUdZ4BMClsBRFV8vrPpBswpzlY8bqYM7qcNScNR6u\ncHd1nBNlan2YI+1bhwUFBThx4oSpBHXhwoW4fPkyXnvtNbMe/92RsyjTG2SMRv/P19cTBQUl9T2G\n02PO8jFjdTBndThqzm0CveHZyG5PlN2gZUtvnD9/pe4DzeDq6gJ/f68a75eWiK+v7w1N82FhYVi/\nfr2slyMiImpQXNYur+8RbpCncYPbTcX09e3WmbPrPkgyVZaeRqMR69evv6FTri4+Pk1QXsFTh7L5\n+nrW9wgNAnOWjxmrgzmrw5yci93dVJjEfO5ubnB3t69Thy1belt1n5JU2bB07ty5yM3NxfLly+Fq\n5vlbnjqUz1E/nnY0zFk+ZqwO5qwOR82Zpw6rJz2Ryqb75ORksxdZRERERM5A6kJr8eLFOHr0KFat\nWgWNRmPRY4NaevFbh5J5+zSBT2P7+ujZGTFn+ZixOpizOhw1Z40HP0ypjrSF1u+//46UlBQEBwdj\n9OjRAIDWrVtjxYoVZj2+icYNRiP/S5OpuU9jGMoc7yvEjoY5y8eM1cGc1cGcnYu0hdZdd92FEydO\nyHp6IiIiIrvHj4yIiIiIJOFCi4iIiEgSs04d6nQ6aDQaaDQalJeXIyYmBqNGjarx+AsXLmDmzJk4\ne/YsGjVqhPnz56NLly4WDXZVb+DF8JJdLCxFSVlFfY/h9JizfMxYHY6Ss6NVwZBzM/saraVLlyIk\nJAQnT55EdHQ0wsPDERAQUO2xb7zxBrp37453330Xhw4dwgsvvIBPPvkELhbsGHvufBH30ZLMt9Tg\nkHu1OBrmLB8zVoej5Nwm0BvujbjQIvtg8cXwISEh8PHxQW5ubo0LrT179uDzzz8HAHTv3h0ajQa/\n/PILOnfubNu0RETkcNSuilG7CsYeal7Iflm80Dp8+DD8/PzQvn37au+/dOkShBBo3ry56TatVouc\nnByLFlqs4FEH6zTUwZzlY8bqsCZntati1K6CkVHlolY9TEOmVsZmL7SmTJkCIQQyMzOxZMkSizcg\ntVRh4VWeOpTMUWseHA1zlo8Zq8PqnMfEKz9MLbQqV8EoVeVSScl6GKqeXVbwVF6jlZaWhtmzZ6Nr\n165o0aJFleP8/PwAABcvXjR9qpWdnY3AwEBLZyciIiJyaBYv+SMiIpCWloaUlBQkJCRUe8ygQYOw\nYcMGPP300zh06BBKS0vRqVMni16HFTzyOWrNg6NhzvIxY3U4Ss6sgiF7YtVnqzNmzEB0dDQmTpyI\nVq1aVXv/Cy+8gK1bt6JRo0ZYtGiRxYXSrOCRjzUP6mDO8jFjdTBnIsu5CCFEfQ9Rnfz8IhiNdjma\n0+B1AOpgzvIxY3UwZ3UwZ/nUvEaLHxkRERERSWL11zI2bdqE1NTUKrcnJSUhNDTUpqGIiIiInIFV\nCy2dTofk5ORqa3j0ej2efPJJHD16FABw8OBBqwZjBY98jlKn4eiYs3zMWB32lDNrdshRKL7RiKur\nK5588kn4+flh/PjxVj8PK3jkc5Q6DUfHnOVjxuqwp5xZs0OOQvGFlru7O+6//35kZWUp/dRERGSH\n1K7YAdSv2QFYtUPWUW/rXAuxgkcdrC1RB3OWjxmro7qc1a7YAdSv2QHUrcVhBY98dlfBozZW8MjH\n2hJ1MGf5mLE6asxZ5YodQP2aHUD5qp2acHsH+eyygkdt3BlePkfZ5dnRMWf5mLE67Cln7v5OjsJu\nF1rcGV4+7vKsDuYsHzNWB3MmspyUhdaIESOQm5uLwsJChIeHo0+fPvjXv/4l46WIiIiI7JZVC630\n9PRa7//oo4+sGoaIiIjImfDcHBEREZEkVp86jIuLQ3Z29g23abVaJCcn2zwUERERkTOwqYInJCSk\nxmOEEJgwYQKOHTtmVQ0PK3jks6c6DWfGnOWrr4xZA0NEdZH2rcPU1FQEBQXh2LFjVj2eFTzy2VOd\nhjNjzvLVV8asgSGiukhZaJ0+fRq7du1CUlISPv/8cxkvQURkM1urY2ytgWGlC5HzU3yhZTQaMWfO\nHLz88stwd7f+6VnBow7WlqiDOctnTca2VsfYWgPjiDUrjjizI2LO8jlsBc8777yDHj16IDQ01KZi\naVbwyMfaEnUwZ/msztjG6hhba2AcrWaF1TDqYM7yOXQFz6FDh3DixAls27YNFRUVKCwshE6nw/bt\n2+HlVfMgN2MFj3z2VKfhzJizfPWVMWtgiKguii+0UlJSTP+clZWFESNG1LnBaXVYwSMf6zTUwZzl\nY8ZEZK+4kiEiIiKSREoFT6XWrVtbtYcWERERkTPgJ1pEREREkkit4Dl16hRmzZqFgoIC+Pr6YuHC\nhQgODrZ6WCIiIiJHYvVCy5xOw5dffhljxozB0KFDsW3bNrz00ktYu3atWc/PCh75WA2jjoacMytq\niKihk1bBk5+fj99++w2rV68GAERGRmL+/Pm4ePEimjdvXufjWcEjH6th1OEMOVu7g3ojG3ZO567p\nROQMpC20srOzERAQADe3a3vbuLm5oVWrVsjOzjZrocWd4dXBHcvV4eg5W7uDui07p1u6azN30lYH\nc1YHc5bPYXeGVwp3hpePO5arwylytnIHdVt2Trdk12bupK0O5qwO5iyfmjvDS7t4QqvVIjc3FwbD\ntcWSwWBAXl4etFqtrJckIiIisivSPtHy9/dHaGgodu7ciaFDh2Lnzp0IDQ0167QhwAoeNbAaRh0N\nOWdW1BBRQyf11OErr7yCWbNmYeXKlfDx8cHChQvNfiwreORjbYk6mDMRUcMldaF1xx13YNOmTTJf\ngoiIiMhu8SMjIiIiIkm40CIiIiKShAstIiIiIkmsukZLp9MhOTkZISEhVe774YcfsGjRIhQWFgIA\n+vbti5kzZ8LFwt2hWcEjX0OuhlFTQ8yZ1TtERNcofjG8l5cXkpKSEBwcDL1ejyeeeALbtm3DsGHD\nLHoeVvDI5wzVMI7AGXK2tILH0uod1u0QkbNSfKF1/adcGo0GHTp0wLlz5yx+HlbwqMPRq2EchaPn\nbGkFj6XVO0pUYbCyRB3MWR3MWT6nqODJz8/HJ598glWrVln8WFbwyOcU1TAOwClytrCCx9LqHVur\nMFhZog7mrA7mLJ9TVPAUFRUhPj4eMTEx6NChg6yXISIiIrJbUj7Runr1KuLi4tC7d2/ExMRY9Rys\n4JGvIVfDqKkh5szqHSKiaxRfaJWVlSEuLg5dunTB1KlTrX4eVvDIx2oYdTBnIqKGS/GF1ubNm/Hd\nd9+hoKAA+/fvBwAMGjQI8fGWXeNBRERE5OisWmilp6fXeN/YsWMxduxYqwciIiIichY8N0dEREQk\nidWnDuPi4pCdnX3DbVqtFsnJyTYPBXBneDU0xB3L60NDy5m7whMR/Y9ZCy2dTgeNRgONRoPy8nLE\nxMTUuqB65513sHHjRpw5cwZvvvkm+vfvb/Fg3BlePmfYsdwRNLSc2wR6w70RF1pERIAFn2gtXboU\nISEhOHnyJKKjoxEeHo6AgIBqj+3RowceeOABJCQkKDYoEanH0sqd6+VZWL9zPVbxEJGzsfjUYUhI\nCHx8fJCbm1vjQqtz5842D8YKHnU4ejWMo3C0nC2t3LmepfU717OlEoOVJepgzupgzvLZbQXP4cOH\n4efnh/bt28uYx4QVPPI5RTWMA3DInC2s3LmepfU717O2EoOVJepgzupgzvKpWcFj9r8Np0yZAiEE\nMjMzsWTJEmg0GkUGJCIiInJWFl+jlZaWhtmzZ6Nr165o0aKFtMFYwSNfQ6yGqQ8NLWfW7xAR/Y/F\nn+9HREQgLS0NKSkpUi92ZwWPfKyGUQdzJiJquKxaycyYMQNbtmxBXl5etfe//fbbCA8Px48//ohZ\ns2YhPDwcRUVFNg1KRERE5GhchBCivoeoTn5+EYxGuxzNafCCS3UwZ/mYsTqYszqYs3xqXgzPc3NE\nREREklhdwbNp0yakpqZWuT0pKQmhoaE2DQWwgkcNDa0apr7Ye86szCEikseqhZZOp0NycjJGjRpV\n7f3p6elYtGgRDAYDOnbsiAULFqBJkyYWvQYreORraNUw9cXec2ZlDhGRPFZ/olWT4uJiJCYmYt26\ndQgODkZCQgLeeecdTJ48WemXIqJamFujY25lDutxiIgsp/hCKyMjA506dUJwcDAAYPTo0Zg1a5bF\nCy1W8KjD0aphHFV95GxujY65lTn2Xgli7/M5C+asDuYsn91W8NQlOzsbQUFBpp+DgoKQnZ1t8fOw\ngkc+h6yGcUD1lrOZNTrmVubY87eg+C0tdTBndTBn+fitQyIiIiInoPgnWlqtFgcPHjT9fO7cOWi1\nWoufhxU88jW0apj6Yu85szKHiEgexRdaffr0wfz583H69GkEBwdjw4YNiIiIsPh5WMEjH6th1MGc\niYgaLsUXWl5eXpg3bx4mTZoEo9GI0NBQqZ2IRERERPbKqoVWenp6rfcPHDgQAwcOtGogIiIiImfB\nc3NEREREklh96jAuLq7Ktg1arRbJyck2DwWwgkcN9l4N4yzUyJk1OkRE9smshZZOp4NGo4FGo0F5\neTliYmJqXVDNnTsXhw4dgqurK9zd3fH888/jvvvus2gwVvDIZ+/VMM5CjZxZo0NEZJ/M/kRr6dKl\nCAkJwcmTJxEdHY3w8HAEBARUe+z06dPh7X1tx9Xjx4/jiSeewIEDB+BiRs0HEf0Pa3SIiBybxacO\nQ0JC4OPjg9zc3BoXWpWLLAC4cuWKVQssVvCogxU86rA254ZWo2MLZ35v9oQ5q4M5y2e3FTyHDx+G\nn58f2rdvX+txS5YswY4dO1BYWIhly5ZZvNhiBY98rOBRh005N6AaHVuwskQdzFkdzFk+NSt4zF5o\nTZkyBUIIZGZmYsmSJdBoNPDaU6YAAB3ISURBVLUeP3XqVEydOhXffvst/v3vf+ODDz6o8zFERERE\nzsTia7TS0tIwe/ZsdO3aFS1atKjzcffddx+Kiopw8uRJdOrUyezBWMEjn71XwzgLNXJmjQ4RkX2y\n+NRhREQE0tLSkJKSUu2O70II/PXXX7jjjjsAAL/88gsuXryIW2+91aLXYQWPfKyGUQdzJiJquKza\nR2vGjBmIjo7GxIkT0apVqxvuE0LgpZdewuXLl+Hm5obGjRvjv//9L5o1a6bIwERERESOwqyF1s2V\nO23btsXhw4erPdbV1RXr1q2zfTIiIiIiB6d4qfT1nn76aWRlZcHV1RWenp5ITExEaGiozJckIiIi\nshtWL7Q2bdqE1NTUKrcnJSWZFlMLFy407an12Wef4cUXX8THH39s1vOzgkc+VvBYh3U3RERkLqsX\nWqNGjcKoUaNqPeb6jUuLioos2kuLFTzysYLHOqy7ISIic0k9dQgACQkJ+PrrryGEwNtvvy375YgU\nd3MNTnV1N6y2ISKi6rgIIYQaL7R161bs2rULb731llnHHz99kRU8ZBeKV75xw8+NPKrW3dz9r3lq\njkRERA5CtYUWAHTu3Bn79u2Dn59fncd+d+QsTx1Kxgoe67Qxs+6mEus05GPG6mDO6mDO8qlZwSPt\nQpPi4mJkZ2ebfk5PT0ezZs3g6+sr6yWJiIiI7Iq0a7SuXr2KqVOn4urVq3B1dUWzZs2QnJxs9gXx\nrOCRjxU81mHdDRERmUvaQqtFixbYuHGj1Y9nBY98rIYhIiKSiysZIiIiIkm40CIiIiKShAstIiIi\nIknMukZLp9NBo9FAo9GgvLwcMTExde4KDwAff/wxZs2aheTkZPTv39+iwVjBIx8reKrHih0iIlKK\n2RfDL126FCEhITh58iSio6MRHh6OgICAGo/PycnBhx9+iLCwMKsGYwWPfKzgqR4rdoiISCkWf+sw\nJCQEPj4+yM3NrXWhlZiYiNmzZ+P111+3aUAiWW6u1qlUXcUOwJodIiKynMULrcOHD8PPzw/t27ev\n8ZgPPvgAd955J7p06WL1YD4+TVjBowJfX8/6HqHeFLtXv4eYu1vVih3g2k7C1rLlsWQeZqwO5qwO\n5iyfWhmbvdCaMmUKhBDIzMzEkiVLoNFoqj3u77//xubNm/HBBx/YNFhh4VWeOpSswVfwjImv9mZt\nDRU71tY1sE5DPmasDuasDuYsn5oVPBZfo5WWlobZs2eja9euaNGiRZXjfvrpJ+Tm5mLw4MEAgPPn\nzyMhIQHTp0/HyJEjzR6cO8PLx53hq8ed34mISCkWnzqMiIhAWloaUlJSkJCQUOX+qKgoREVFmX5+\n/PHHERMTY/G3DrkzvHzcGZ6IiEguq1YyM2bMwJYtW5CXl6f0PEREREROw6xPtNLT02/4uW3btjh8\n+LBZL/D+++9bPhURERGRE+C5OSIiIiJJLL5Gq9KmTZuQmppa5fakpCSEhoZi4cKF+OSTT3D27Fns\n2LEDISEhNg1KRERE5GisXmiNGjWq1hqeAQMGYNy4cRg7dqxVz88KHvmctYKHFTpERGQvrF5o1aV7\n9+42PZ4VPPI5awUPK3SIiMheSFtoEamhuhqd6ip0WJ9DRET1wW4XWqzgUYejV/BUV6NTXYVOfddZ\n1PfrNwTMWB3MWR3MWT67q+BRGyt45HOKCp5qanSqq9CpzzoL1mnIx4zVwZzVwZzls8sKHrWxgkc+\nZ63gYYUOERHZC2kLrVdffRV79+7FhQsXMGHCBPj6+mLXrl1mP54VPPKxgoeIiEguaQutOXPmYM6c\nObKenoiIiMju8SMjIiIiIkm40CIiIiKShAstIiIiIknMukZLp9NBo9FAo9GgvLwcMTExNdbvGI1G\nTJ06FSdPnkSjRo3g7++PuXPnok2bNhYNxgoe+VjBQ0REJJfZF8MvXboUISEhOHnyJKKjoxEeHo6A\ngIBqjx02bBj69+8PV1dXpKamIjExEWvWrLFoMFbwyOcsFTw37w7f6Kad4bkrPBER1ReLv3UYEhIC\nHx8f5ObmVrvQcnV1xYABA0w/h4WFWbzIArgzvFocfWd4oOru8DfvDG8POyzbwwzOjhmrgzmrgznL\nZ7c7wx8+fBh+fn5o3769WcevW7cOOp3O4sG4M7x8TrEzPFBld/ibd4av7x2WucuzfMxYHcxZHcxZ\nPrvcGX7KlCkQQiAzMxNLliyBRqOp8zFvvfUW/vzzT6s+0SIiIiJydBZfo5WWlobZs2eja9euaNGi\nRY3Hv//++9i5cyfWrFmDJk2aWDwYK3jkYwUPERGRXBafOoyIiEBaWhpSUlKQkJBQ7TEbNmzAxo0b\nsWbNGvj6+lo1GCt45GMFDxERkVxWrWRmzJiBLVu2IC8vr8p9RUVFeOWVV1BcXIwJEyZg6NChNW4F\nQUREROTMzPpEKz09/Yaf27Zti8OHD1d7rJeXF44fP277ZEREREQOjufmiIiIiCSx+BqtSps2bUJq\namqV25OSkhAaGnrDbcuXL8eyZcuwY8cOhISEWPuSRERERA7F6oXWqFGjzLr26tdff8VPP/2EW265\nxaLnZwWPfM5YwcP6HSIisidWL7TModfrMW/ePLzxxhsYN26cRY9lBY98zlDBw/odIiKyZ1IXWkuW\nLMGQIUPQunVrix/LCh51OHoFjyPU7wD2M4czY8bqYM7qYM7y2W0Fj7l+/PFHHD16FM8//7xVj2cF\nj3xOUcFj5/U7AOs01MCM1cGc1cGc5VOzgkfaxSzff/89/vzzTwwYMAA6nQ45OTl48sknsX//flkv\nSURERGRXpH2iFRsbi9jYWNPPOp0OycnJZn/rkBU88jljBQ/rd4iIyJ5IvUbLFqzgkY8VPERERHKp\nttC6eXd5IiIiImfHj4yIiIiIJOFCi4iIiEgSu71GizvDy+cMO8NzJ3giIrJnVi20avsGYV5eHuLi\n4mAwGGA0GnHbbbdh/vz5aNasmUWvwZ3h5XOGneHbBHrDvREXWkREZJ8U/0TLz88P69atQ5MmTQAA\nr732GlauXInZs1mFQsq4vnYn77rKHdbtEBGRvVF8oeXh4QEPDw8AgMFgQElJCby9Ld/mnhU86nDE\nCp7ra3eur9yx58oKe57NWTBjdTBndTBn+Ry+gmfo0KHIzs5Gu3bt8Oabb1r8eFbwyOewFTzX1e5c\nX7ljr5UVrNOQjxmrgzmrgznL5xQVPNu2bcPXX3+N22+/HevXr5f1MkRERER2S+q3Dj08PDB8+HAk\nJiZi4sSJFj2WFTzyOUMFDyt3iIjInim+0MrOzoaPjw+aNm0Ko9GITz75xOx+w+uxgkc+VvAQERHJ\npfhC69SpU0hKSoIQAkIItG/fHgkJCUq/DBEREZHds2qhVVtv4f3334/t27dbPRARERGRs+C5OSIi\nIiJJrD51GBcXh+zs7Btu02q1SE5OtnkogBU8svEiciIiIvnqXGjpdDp4enpi+/btcP3/TrnaKngA\nICUlBTt27EBFRQW6dOmC+fPnQ6PRWDQYK3jkahPIzfCIiIhkM+tjjZKSEmzbts2sJ9y/fz927tyJ\njRs3Ii0tDR4eHnjvvfdsmZEU5LJ2OVzWLkfefxfhl4SX6nscIiIip2bWqcPJkydj+fLlePjhh+v8\nZOr48ePo3r07PD2vVbuEh4dj2bJliI2NtWgwVvDIUVlf4+527f+y5kEdzFk+ZqwO5qwO5iyfXVXw\ndOrUCR07dsT69evxxBNP1Hpsx44dsWnTJly8eBE+Pj5IS0vD2bNnLR6MFTyS/H99jTbQG21b+7Hm\nQQWs05CPGauDOauDOctnlxU806ZNw1tvvYXi4uJaj7vvvvswZswYPPnkk3jsscfQtm1buLtL3YCe\niIiIyC6ZvQK6/fbb0bdvX6xevbrOY5944gnTJ1+7d+/GHXfcYfFgrOCRi986JCIiks+ij5qeffZZ\nREdHw2Co/ZTe+fPn0bJlS1y+fBlvvfUWnnnmGYsHYwUPEREROTqLFlqBgYEYOnQo3n333VqPi4mJ\ngdFoREVFBcaOHYuBAwfaNCQRERGRI3IRQoj6HqI6+flFMBrtcjSnwQsu1cGc5WPG6mDO6mDO8tnl\nxfBEREREZBmrd4a/5ZZbUFhYeMOxWq0WsbGxWLRokem+vn37YubMmXBxcbFoMFbwyKHxcIW7K9fX\nREREajDrGq3KneGHDx9uui0xMbHaCp6TJ08iKSkJwcHB0Ov1eOKJJ7Bt2zYMGzbMosFYwSNHm0Bv\nuDfiQouIiEgNiu8Mf/3iS6PRoEOHDjh37pxtU5IiXNYuR57GDW4uLrh15uz6HoeIiMjpKb4z/PXy\n8/PxySefYNWqVRYPxgoe5RW7u8HdzQ3u7q6m6gHWPKiDOcvHjNXBnNXBnOWzqwoe4NrO8OPGjcPI\nkSPNOr6oqAjx8fGIiYlBhw4dLB6MFTwSjImHNtAbno3ccf78FX6zRSXMWT5mrA7mrA7mLJ9dfuvQ\nkp3hr169iri4OPTu3RsxMTHmvgQRERGRU1F8Z/iysjLExcWhS5cumDp1qtWDsYJHDlbvEBERqUfx\nneE3b96M7777DgUFBdi/fz8AYNCgQYiPj7doMFbwEBERkaPjzvANGK8DUAdzlo8Zq4M5q4M5y2eX\n12gRERERkWUsOnV4vbi4OGRnZ99wm1arRXJyss1DERERETkDqyt4kpOTq90ZXq/XIz4+HkePHgUA\nHDx40KrBWMEjByt4iIiI1GN1BU9NXF1d8eSTT8LPzw/jx4+3ejBW8MjBCh4iIiL1KF7B4+7ujvvv\nvx9ZWVmKDEjKcFm7HABYwUNERKQiqRU8tmAFj7KK3d0AgBU89YQ5y8eM1cGc1cGc5XP4Ch5bsYJH\nYWOu7WPGCh71MWf5mLE6mLM6mLN8am7vYPZCy5IKHiVwZ3g5uDM8ERGRehSv4FEKd4YnIiIiR2fR\nSqaygqegoKDW40aMGIHRo0ejsLAQ4eHhSEhIsGlIIiIiIkfECp4GjNcBqIM5y8eM1cGc1cGc5WMF\nDxEREZETYAUPERERkSSKV/BUEkJgwoQJOHbsmFU1PKzgUR7rd4iIiNSleAVPpdTUVAQFBeHYsWNW\nDcYKHuWxfoeIiEhdZv3Vrazg0ev1Zj3p6dOnsWvXLsTGxto0HCnHZe1y5P13Ef5etKC+RyEiImow\nFK/gMRqNmDNnDl5++WW4u1t9CRgreBRW7O5WpX4HYM2DWpizfMxYHcxZHcxZPoet4HnnnXfQo0cP\nhIaG2lQszQoehY2Jv6F+B+BXiNXCnOVjxupgzupgzvI5dAXPoUOHcOLECWzbtg0VFRUoLCyETqfD\n9u3b4eVV8yA3YwWP8li/Q0REpC7FK3hSUlJM/5yVlYURI0YgPT3d4sFYwUNERESOTkoFDxERERGx\ngqdB43UA6mDO8jFjdTBndTBn+VjBQ0REROQEWMFDREREJIniFTxZWVl48MEHcdddd5lue++99+Dn\n52fRYKzgUR4reIiIiNQlpYLH29sb27Zts2kwVvAojxU8RERE6jJroVVZwfPwww9Do9HInokU5rJ2\nOQAgT+MGNxcX3Dpzdj1PRERE1DAoXsEDAMXFxYiOjgYADB48GE8++SRcXFwsGowVPMopdncDAFbw\n1CPmLB8zVgdzVgdzls9hK3hatWqFffv2wd/fH/n5+YiPj0ezZs0watQoiwZjBY+CxsQDACt46glz\nlo8Zq4M5q4M5y+fQFTwajQb+/v4AAH9/f0RFReGHH36weKHFCh7lsYKHiIhIXYpX8OTn58PHxwce\nHh64evUq0tPT0a9fP4sHYwUPEREROTqLFlqVFTzvvvtujcccPnwYS5cuhaurKyoqKtCvXz889thj\nNg9KRERE5GhYwdOA8ToAdTBn+ZixOpizOpizfKzgISIiInICrOAhIiIikkTxCp49e/bgzTffNP2c\nk5ODHj16YPny5RYNxgoeZbF+h4iISH2KV/AMGjQIgwYNMv08bNgwREZGWjwYK3iU47J2ORpxV3gi\nIiLVSa3g+fXXX5GTkwOdTmfxYNwZXjnF7m7V7goPcPdhtTBn+ZixOpizOpizfHa1M7ylFTyVPvro\nI0RFRVnVj8id4RU0Jr7KrvAAv9miFuYsHzNWB3NWB3OWzy6/dTht2jS89dZbKC4uNut4vV6PnTt3\nYsSIEea+BBEREZFTUbyCp9Knn36K1q1bo3379lYNxgoeZbF+h4iISH2KV/BU+uijj2z6NIsVPERE\nROToLFrJVFbwFBQU1HpcdnY2fvjhB0RFRdk0HBEREZEjYwVPA8YLLtXBnOVjxupgzupgzvLZ5cXw\nRERERGQZVvAQERERSaJ4BQ8AZGVlYe7cucjMzISbmxsmTJiAUaNGWTQYK3iUxQoeIiIi9SlewSOE\nwOTJkzF58mQMHDgQQghcvHjR4sFYwaMMl7XXOiZZwUNERKQ+xSt4vvnmGzRt2hQDBw4EALi4uMDf\n39/iwVjBo4xidzcAYAVPPWPO8jFjdTBndTBn+Ry2guePP/6Ar68vpkyZgszMTLRp0wazZ8+GVqu1\naDBW8ChkTDwAsIKnHjFn+ZixOpizOpizfHb5rUNzK3iMRiMOHDiAqVOnYuvWrbjnnnvwz3/+0/yJ\niYiIiJyE4hU8Wq0WHTt2xB133AEAGDJkCJYuXWrxYKzgURYreIiIiNSneAVPeHg4Fi9ejLy8PLRq\n1QpfffUV2rVrZ/FgrOAhIiIiR2fRQquygufdd9+t8RhPT0/MmTMHEydOhBACvr6+SEpKsnlQIiIi\nIkfDCp4GjBdcqoM5y8eM1cGc1cGc5bPLi+GJiIiIyDJ2W8HDneGVw13hiYiI6oeUCp7k5GRs374d\n7u7uaNq0KebNm4e77rrLosG4M7xy2gR6w70RF1pERERqM+uvb2UFjzmOHTuGDz/8EJs3b8b27dsR\nERGBRYsW2TQkWc9l7XLk/Zf5ExER1QfFK3hcXFxQXl6O0tJSeHp64sqVKwgMDLR4MFbwKKPY3Q3u\nbm41Vg2w5kEdzFk+ZqwO5qwO5iyfw1bwtG/fHhMmTIBOp4O3tzd8fHyQmppq8WCs4FHImHhoA6v/\ndgW/2aIO5iwfM1YHc1YHc5bPLr91aG4Fz9mzZ/H5559j7969+OqrrzB8+HDMmjXL/ImJiIiInITi\nFTx79uxBSEgIWrVqBQAYNmwYli9fbvFgrOBRDut3iIiI6ofiFTytW7fG1q1bUVJSAk9PT+zbt8/i\nbxwCrOAhIiIix6d4Bc+DDz6In3/+GdHR0dBoNPDx8cGCBQtsHpSIiIjI0bCCpwHjBZfqYM7yMWN1\nMGd1MGf57PJieCIiIiKyDCt4nBzrd4iIiOqP4hU8eXl5iIuLg8FggNFoxG233Yb58+ejWbNmFg3G\nCh5lsH6HiIio/ihewePn54d169Zh27Zt2LFjBwIDA7Fy5UqbhiTLuaxdzvodIiKieqZ4BY+Hhwc8\nPDwAAAaDASUlJfD2tnybe1bw2KbY3Q0Aaq3fAVjzoBbmLB8zVgdzVgdzls9hK3gqDR06FNnZ2WjX\nrh3efPNNiwdjBY+NxsQDQI31OwC/2aIW5iwfM1YHc1YHc5bPLr91aG4FT6Vt27bh66+/xu233471\n69eb+zJERERETkPxCp7reXh4YPjw4UhMTMTEiRMtGowVPMpg/Q4REVH9UbyCJzs7Gz4+PmjatCmM\nRiM++eSTar+dWBdW8BAREZGjU7yC59SpU0hKSoIQAkIItG/fHgkJCTYPSkRERORoWMHTgPGCS3Uw\nZ/mYsTqYszqYs3x2eTE8EREREVnG6p3hb7nlFhQWFt5wbGUFT3p6OhYtWgSDwYCOHTtiwYIFaNKk\niUWDsYJHGazgISIiqj9mXaNVuTP88OHDTbclJiZWe5F7cXExEhMTsW7dOgQHByMhIQHvvPMOJk+e\nbNFgrOBRBit4iIiI6o9Zf4Erd4bX6/V1HpuRkYFOnTohODgYADB69GikpaXZNCRZjhU8RERE9U/x\nneGzs7MRFBRk+jkoKAjZ2dkWD8YKHtuwgse+MGf5mLE6mLM6mLN8dlXBA1zbGX7cuHEYOXKkzHlM\nWMFjI1bw2A3mLB8zVgdzVgdzls8uv3Vo7s7wWq0W586dM/187tw5aLVac1+GiIiIyGkovjN8nz59\nMH/+fJw+fRrBwcHYsGEDIiIiLB6MFTzKYAUPERFR/VF8Z3gvLy/MmzcPkyZNgtFoRGhoqFU7wzdt\n7M4NS1Xg6upS3yM0CMxZPmasDuasDuYsn1IZ1/U8drszPBEREZGj43klIiIiIkksOnV4vbi4uCrb\nNlTuDE9EREREPHVIREREJA1PHRIRERFJwoUWERERkSRcaBERERFJwoUWERERkSRcaBERERFJwoUW\nERERkSSqLrROnTqFRx99FA899BAeffRRnD59usoxBoMBc+fOxcCBA/HAAw9g06ZNZt1H/2NrzitW\nrMDDDz+MqKgoREdH46uvvlJxesdga8aV/vrrL3Tp0gULFy5UYWrHo0TOu3fvRlRUFCIjIxEVFYUL\nFy6oNL3jsDXn/Px8xMbGIioqChEREXjllVdQUVGh4juwf+ZkvH//fkRHR6NTp05V/p3Av3/msTVn\nKX//hIoef/xxsXXrViGEEFu3bhWPP/54lWM+/vhjERMTIwwGg8jPzxd9+vQRf//9d5330f/YmnNG\nRoYoKSkRQghx7Ngx0a1bN3H16lX13oADsDVjIYSoqKgQjz32mJg+fbpISkpSbXZHYmvOR44cERER\nESIvL08IIURhYaEoLS1V7w04CFtzfvXVV02/w3q9XowcOVLs2rVLvTfgAMzJ+PTp0+K3334Tixcv\nrvLvBP79M4+tOcv4+6faJ1r5+fn47bffEBkZCQCIjIzEb7/9hosXL95w3O7duzFq1Ci4urqiefPm\nGDhwIPbs2VPnfXSNEjn36dMHTZo0AQC0a9cOQggUFBSo+0bsmBIZA8CqVavQr18/BAcHqzm+w1Ai\n5/feew8xMTFo2bIlAMDb2xuNGjVS943YOSVydnFxQXFxMYxGI/R6PcrLyxEQEKD6e7FX5mbctm1b\nhIaGwt29amkL//7VTYmcZfz9U22hlZ2djYCAALi5uQEA3Nzc0KpVqyo1PtnZ2QgKCjL9rNVqkZOT\nU+d9dI0SOV9v69ataNOmDQIDA+UO7kCUyPj48ePYv38/xo8fr9rcjkaJnP/880/8/fffGDt2LIYP\nH46VK1dCsAzjBkrk/PTTT+PUqVP4xz/+YfpPt27d1HsTds7cjOt6Dv79q50SOV9Pqb9/vBieavTd\nd99hyZIleOONN+p7FKdSXl6OxMREzJ071/QvBJLDYDDgxIkTWL16Nd5//31kZGRg27Zt9T2W09mz\nZw/atWuH/fv3IyMjA4cOHeKnLeTQlPz7p9pCS6vVIjc3FwaDAcC1fwHm5eVBq9VWOe7cuXOmn7Oz\ns02rydruo2uUyBkAfvzxR7zwwgtYsWIFbr/9dnWGdxC2Znz+/HlkZmYiNjYWOp0Oa9aswcaNG5GY\nmKjq+7B3SvwuBwUFYdCgQdBoNPDy8sKAAQNw5MgR9d6EA1Ai59TUVAwZMgSurq7w9vaGTqfDwYMH\n1XsTds7cjOt6Dv79q50SOQPK//1TbaHl7++P0NBQ7Ny5EwCwc+dOhIaGonnz5jccN2jQIGzatAlG\noxEXL17EZ599hoceeqjO++gaJXI+cuQInnvuOSxduhQdO3ZU/T3YO1szDgoKwsGDB5Geno709HQ8\n8cQTeOSRRzB//vz6eDt2S4nf5cjISOzfvx9CCJSXl+PAgQNo37696u/FnimRc+vWrZGRkQEA0Ov1\n+Pbbb3HXXXep+0bsmLkZ14Z//+qmRM5S/v7ZdCm9hf744w8xcuRI8eCDD4qRI0eKP//8UwghxFNP\nPSWOHDkihLj2TayXXnpJDBgwQAwYMEBs2LDB9Pja7qP/sTXn6Oho0atXLzFkyBDTf44fP14v78Ve\n2Zrx9ZYuXcpvHdbA1pwNBoN47bXXxKBBg8TgwYPFa6+9JgwGQ728F3tma85nzpwR48ePF5GRkSIi\nIkK88sorory8vF7ei70yJ+Pvv/9e9OnTR9xzzz0iLCxM9OnTR2RkZAgh+PfPXLbmLOPvn4sQvDKU\niIiISAZeDE9EREQkCRdaRERERJJwoUVEREQkCRdaRERERJJwoUVEREQkCRdaRERERJJwoUVEREQk\nCRdaRERERJL8HyOCXV8BPfKiAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "r53GZjY5ybC2",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#max_features = 자동으로 놓겠다.\n",
        "\n",
        "clf2 = RandomForestClassifier(n_estimators=100,criterion='entropy',class_weight='balanced_subsample',oob_score=True)\n",
        "fitb = clf2.fit(X2,y)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8PBRfEAyyvK_",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 491
        },
        "outputId": "919f2b0c-aea9-4f78-c48f-cc0dc7666282"
      },
      "source": [
        "mdib = feature_importance.feature_importance_mean_decrease_impurity(clf=fitb, feature_names = X2.columns.to_list())\n",
        "print(mdib.sort_values('mean',ascending=False).head(8))\n",
        "feature_importance.plot_feature_importance(imp=mdib,oob_score=1,oos_score=1)"
      ],
      "execution_count": 260,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "         mean       std\n",
            "2    0.185775  0.010740\n",
            "R_0  0.123753  0.007559\n",
            "I_1  0.091851  0.007771\n",
            "I_2  0.072063  0.003094\n",
            "I_4  0.064726  0.004702\n",
            "3    0.056325  0.001353\n",
            "0    0.047745  0.004094\n",
            "R_3  0.045579  0.002898\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "m4PrP-oJz1nx",
        "colab_type": "text"
      },
      "source": [
        "순위가 조금 다르고, max_features=1일때 importance가 더 고르다."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "L6L2wLCI0E_Q",
        "colab_type": "text"
      },
      "source": [
        "Masking effects take place when some features are systematically ignored\n",
        "by tree-based classifiers in favor of others. In order to avoid them, set\n",
        "max_features=int(1)when using sklearn’s RF class. In this way, only one\n",
        "random feature is considered per level."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "9OBt9gtI0OdU",
        "colab_type": "text"
      },
      "source": [
        "(a) Every feature is given a chance (at some random levels of some random\n",
        "trees) to reduce impurity.\n",
        "\n",
        "(b) Make sure that features with zero importance are not averaged, since the\n",
        "only reason for a 0 is that the feature was not randomly chosen. Replace\n",
        "those values with np.nan."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "9urZ7GE2zQ8P",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}